【发布时间】:2018-10-01 16:50:00
【问题描述】:
我想通过填充字段进行查询。在这种情况下,填充的字段是评论。因此,如果我的搜索查询与评论表描述字段匹配......然后返回那本书。评论是一个对象数组,描述是其中的一个键。
我尝试在查询对象中使用reviews[0].description,但没有成功。
getBookInfo: (req, res) => {
const search = req.params.search;
const query = { $or: [{ title: { $regex: search, $options: 'i' } }] };
Books.find(query).populate('reviews').exec(function(err, books) {
if (err) {
return err;
}
return books;
});
}
【问题讨论】:
-
所以您搜索的是评论而不是书籍。我说的对吗?
-
@num8er 是的,我想同时搜索。所以书籍字段将是标题,然后还从评论中搜索描述
-
所以你有一个以
title和description为属性的图书模式,对吗? -
@GeorgeBailey 是的,这是正确的。在书籍架构中......我有标题、描述和评论(它是对评论表的引用)。在评论表中,我也有标题和描述
-
是的,这是最常用和欣赏的。我完全同意
标签: javascript arrays node.js mongodb mongoose