2015-09-14 91 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()轉換成一個陣列,以及執行查詢,返回你可以實際使用的數據的一種形式。

相關問題