node.js和猫鼬:如何调用2个嵌套的回调方法以保存到集合和嵌套列表中?
|
我正在使用mongoDB构建一个node.js应用程序。
我需要创建一个书本对象,保存它,并将其添加到用户的书本列表中。
然后,我需要为该书设置一个“保存”,然后为该用户设置一个“保存”(已为其更新图书列表)。
我做类似的事情:
book = new Book(); // I\'m using moogoose
book.title = req.params.title
book.save(function(err){
if(!err){
jsonObj = {\"title\":book.title};
res.writeHead(200, {\'content-type\': \'application/json\'});
res.write(JSON.stringify(jsonObj));
res.end();
// Add book in user things list
user.books.push(book);
user.save(function(error){
if(error) {
console.log(JSON.stringify({ \"error\" : \"internal error\" }));
}
});
} else {
jsonObj = { \"error\" : \"internal error while saving book\" };
res.writeHead(200, {\'content-type\': \'application/json\'});
res.write(JSON.stringify(jsonObj));
res.end();
}
console.log(JSON.stringify(jsonObj));
});
似乎有时这本书保存在DB中,而不保存到用户的书籍列表中,有时则相反。我对异步回调方法不甚了解(位于其顶部...)。
我肯定做错了什么……最好的方法是什么?
没有找到相关结果
已邀请:
2 个回复
桔适丛
拟蓬