我有一个非常简单的应用程序,现在允许您创建一个帐户,只需将文档添加到数据库。当我尝试查询信息并使用res.send()
将其发回时,会出现错误并说converting circular structure to JSON
。这是什么意思?文档中的所有对象都是字符串。没有任何花哨的事情发生。
这是它发生错误的路线:
var express = require('express');
var router = express.Router();
var cookieParser = require('cookie-parser');
/* GET users listing. */
router.get('/', function(req, res, next) {
// res.send(req.params);
});
router.post('/', function(req, res, next) {
console.log(req.body.nickname + " from the " + req.body.grade + " class registered.");
db.collection('users').insert({email: req.body.email, password: req.body.password, nickname: req.body.nickname, grade: req.body.grade}, function(err, result) {});
res.cookie("fss-sched-account", req.body.email);
res.cookie("fss-sched-password", req.body.password);
console.log(db.collection('users').find({}));
res.json(db.collection('users').find({}));
});
router.get('/nocookies', function(req, res, next) {
});
module.exports = router;
这是我所有代码的链接:Github
答案 0 :(得分:1)
这意味着您试图从.find()
而不是“结果”传递“光标”。你可能只想要:
db.collection('users').find({}).toArray(err,results) {
if (err) throw err; // or handle somehow
console.log(results);
res.json(results);
})
.toArray()
转换为数组以及执行查询的位置,返回实际可以使用的数据形式。