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();
});
});
});
});
我是 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();
});
});
});
});