2015-09-14 70 views
0

我有一个非常简单的应用程序,它现在允许您创建一个帐户,并且只是将一个文档添加到数据库中。当我尝试查询信息并使用res.send()将其发回时出现错误,并说converting circular structure to JSON。这是什么意思?文档中的所有对象都是字符串。没有什么奇特的事情发生。简单的查询将圆形结构转换为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

回答

1

这意味着你正试图从.find()而通过“光标”比“结果”要好。你可能只是想:

db.collection('users').find({}).toArray(err,results) { 
    if (err) throw err; // or handle somehow 
    console.log(results); 
    res.json(results); 
}) 

.toArray()转换成一个阵列,以及执行查询,返回你可以实际使用的数据的一种形式。

相关问题