0
我不能填充和找到貓鼬指定的類別帖子。它總是返回我的所有帖子,它不過濾指定類別名稱的帖子,在searchQuery.category我傳遞搜索的類別。貓鼬發現與填充後where子句不工作
var query = posts.find();
if (searchQuery.tags) {
searchQuery instanceof Array ?
query.where('tags').in(searchQuery.tags) :
query.where('tags').equals(searchQuery.tags);
}
if (searchQuery.publish) {
query.where('publish').equals(true);
}
if (searchQuery.category) {
query.populate({
path: 'category',
match: { name: searchQuery.category },
model :'Category'
});
}
if (searchQuery.series) {
query.populate({
path: 'series',
match: { name: searchQuery.series }
});
}
return countPost(searchQuery).then(function (count) {
return query.select('title heading tags description blogImage createAt')
.skip(((parseInt(pageNo, 10) || 1) - 1) * parseInt(limit, 10))
.limit(parseInt(limit, 10) || 10)
.exec()
.then(function (posts) {
return { post: posts, total: count, currentPage: pageNo, limit: limit };
});
});
在這裏我的代碼,它不評估類別。
這個代碼給我過濾記錄
query.populate({
path: 'category',
match: { name: searchQuery.category },
model :'Category'
}).exec(function(err, post){ console.log(post)}); // this query return only searchedQuery object.
感謝答覆,.populate({.. })。exec()返回過濾結果,但如果我不使用exec來填充,那麼它將返回所有帖子,爲什麼? –
@AnkitRana你可以請你說明你是如何調用它與沒有exec()?你會得到什麼結果。 –
@ Antonio我定義了有問題的代碼,你可以看到這個 –