【发布时间】:2019-05-24 04:58:51
【问题描述】:
我想知道用户是否喜欢一本书,并根据我视图中结果中的状态(喜欢/不喜欢)显示一颗心。
问题在于第二个查询的值在该函数之外不可用。
我尝试在内部使用异步函数,但没有返回任何结果。我还尝试将书籍添加到数组中并返回它,这给出了一个空数组。
var bookQuery = Book.find({ title: req.body.title}, {}, { skip: 0, limit: 200 })
.sort({ name: 1 });
bookQuery.lean().exec(function (err, books) {
books = books.map(function (book) {
Like.findOne({ object: book._id, likedby: req.session.passport.user }).exec(function (err, like) {
book.liked = (like != null) ? 1 : 0;
// Here it's available
});
return book;
});
cb(books);
}, cb);
我想为每本书添加一个字段,其中包含来自 Like 查询的值。 现在它只显示书籍。
【问题讨论】:
标签: node.js express mongoose mongoose-schema