【发布时间】:2016-12-25 23:51:56
【问题描述】:
这是我的查询的一个非常简化的版本。
使用 for 循环为客户端加入两个集合是否可以接受/有效?
最多可以有 2,000 本书,这也意味着在 favoriteBooksCollection 中每个用户可能有相同数量的最喜欢的书。
return favoriteBooksCollection
.find({user: current_userId})
.then(function(favorites){
var bookIds = favorites.map(function (a) {
return a.bookId
};
return BooksCollection
.find({_id : {$in: bookIds}})
.sort({timestamp: -1})
.then(function(books){
for(var i = 0; i < books.length; i++){
for(var j = 0; j < favorites.length; j++){
if(favorites[j].bookId == books[i]._id){
//'join' user's myRating to book document here
books[i].userRating = favorites[j].myRating;
};
};
};
// return books array of objects with newly added UserRating property
return books;
});
});
【问题讨论】:
标签: node.js mongodb mongoose nosql