gpt4 book ai didi

node.js - 类型错误 : Converting circular structure to JSON when changed to NodeJS Async Await

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:48 25 4
gpt4 key购买 nike

我最近了解了 NodeJS Async/Await。更改了我的代码,使其更清晰、更易于阅读。

  • 升级到 NodeJS 8.2.1。
  • MongoDB 2.2.30
  • Express 4.1.4

代码如下:

    var express = require('express');
var router = express.Router();
var MongoClient = require('mongodb').MongoClient;
var assert = require('assert');
var url = process.env.mongo;


/* GET home page. */
router.get('/', async function(req, res, next) {
try{
let db = await MongoClient.connect(url);
let col = await db.collection('product');
let documents = await col.find();
return res.send(documents)
}catch(err){
console.log(err)
}

});


module.exports = router;

遇到此错误,

TypeError: Converting circular structure to JSON
at JSON.stringify (<anonymous>)
at stringify (/home/edmondtm/test-async/node_modules/express/lib/response.js:1064:12)
at ServerResponse.json (/home/edmondtm/test-async/node_modules/express/lib/response.js:243:14)
at ServerResponse.send (/home/edmondtm/test-async/node_modules/express/lib/response.js:152:21)
at /home/edmondtm/test-async/routes/index.js:15:16
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)

注意:如果更改没有问题:让文档=等待col.find();到让文档=等待col.findOne();

希望有人能帮助我。

最佳答案

尝试一下让文档=等待col.find().toArray()

col.find() 返回一个游标,而 someCursor.toArray() 返回一个 Promise。

关于node.js - 类型错误 : Converting circular structure to JSON when changed to NodeJS Async Await,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45391876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com