从下面的代码中,我可以添加到我的数据库中。但是,当我尝试mongoose-find寻找数据库时,我没有得到任何价值。任何人都可以帮忙吗?我想res.json结果。
app.post('/api/infosave', function(req,res){
async.series([function (cb){
dbinfo.remove({}, function(err,result){
if (err) throw err;
cb(null);
});
}, function (cb){
var bookNum = [];
for (var i = 0; i < req.body.numBooks; i++) {
bookNum.push(i+1)
}
async.map(bookNum, function(num, cb) {
dbinfo.create({
numBooks: num,
done: false
}, cb);
}, cb);
}, function (cb){
dbinfo.find({},function(err,result){
if (err)
res.send(err);
res.json(result);
console.log(result);
cb(null);
});
}], function(error, results) {
});
});
答案 0 :(得分:1)
正如我在评论中所说:你在其中一个系列函数中调用res.json()
,这是行不通的。你应该做的是将dbinfo.find()
的结果传递给本地回调:
dbinfo.find({},function(err,result){
if (err)
cb(err);
cb(null, result);
});
,在async.series
回调中,请致电res.json()
:
...
}], function(error, results) {
if (error) return res.json({ error: error });
return res.json(results[2]); // the result you want should be third element of results
});