有两个表,书籍与标签有多对多的关联。 如何找到只有特定标签ID的书? 我试过了:
Book.find().populate("tag", where:{id: 1 }).exec(console.log)
但它提供了所有书籍。
答案 0 :(得分:2)
如果您要查找具有特定tagid的所有图书,您可能会想要执行以下操作:
Tag
.findOne(1)
.populate('books')
.then(function(tag) {
if (!tag) {
res.serverError(error);
} else {
res.json(tag.books);
}
});
基本上,您希望通过id(1)查找标记,然后填充该标记的books
关联。
答案 1 :(得分:0)
您必须在find()
中提供条件,而不是填充。
您的固定变体:
Book
.find()
.where({
id: 1
})
.populate('tag')
.exec(function(error, books) {
if (error) {
res.serverError(error);
} else {
res.json(books);
}
});