MongoDB and Express: Type Error: Converting Circular structure to JSON

MongoDB and Express: Type Error: Converting Circular structure to JSON

我是 MEAN 堆栈的新手。我正在尝试从 MongoDB 中检索文档列表。我使用 Visual Studio 2013 社区版创建了一个基本的 Nodejs Express 应用程序。 Visual studio 在根上创建了 app.js 文件用于配置。我在 app.js 中放入了与 mongodb 相关的以下代码:

var mongo = require('myDB');
var db = new mongo.Db("myDB", new mongo.Server("localhost", "27017"),
{ safe: true }, { auto_reconnect: true });

// Make our db accessible to our router
app.use(function (req, res, next) {
    req.db = db;
    next();
});

在 visual studio 创建的路由文件夹中,我创建了一个将执行 CRUD 操作的 js 文件。我在这个文件中有以下代码:

var express = require('express');
var router = express.Router();
router.get('/myRecords', function (req, res) {
    var db = req.db;
    db.open(function (err, db) {
        if (err)
            console.log(err);
        else {          
                var collection = db.collection('myCollection');                
                var dataToSend = collection.find();
                res.send(dataToSend);               
        }
        })    
    });
module.exports = router;

我是类型错误:将循环结构转换为 JSON。

我正在尝试不使用任何架构。

请指教

对于那些遇到类似问题的人,find() 没有 return 文档,我们需要使用 toArray 来检索文档。以下代码成功了:

router.get('/myRecords', function (req, res) {
    var db = req.db;
    db.open(function (err, db) { // <------everything wrapped inside this function
        db.collection('myCollection', function (err, collection) {
            collection.find().toArray(function (err, items) {
                res.send(items);
                db.close();
            });
        });
    });
});