0
我得到「折舊」警告後,我剛剛將我的mongodb驅動程序從1.4升級到2.2.16。Mongodb聚合框架使用mongdb驅動2.2.16在結果集中給出「undefined」
這個問題似乎與如何聚合。如果我刪除$匹配,它會起作用。與$匹配的東西給我結果集中的「未定義」。
這是我的聚合函數。
Doc.aggregate(
{$match: searchCriteria}, //Removing this gives result
{$project: { title: 1, description:1, createdOn:1, extension:1, workflows: 1, enableWorkflow: 1, numPages:1, userid:1, metadata:1, docGalleryId:1, tags:1, status:1, galleryThumbUrl : { $slice: ["$pages.galleryThumbUrl", 1 ] } } },
{$unwind: '$galleryThumbUrl'},
{$sort: {createdOn: -1}},
{$skip: skip},
{$limit: items},
function (err, result) {
console.log(result); //This gives Undefined
Doc.populate(result, {path: 'userid', select: 'firstName, lastName, userEmail'}, function (err, docCol) {
console.log(err, docCol);
console.log('items', items);
callback({
docs: docCol,
showNext: showNext,
page: page,
items: items
});
});
}
);
searchCriteria是物體(未字符串)。這裏是什麼樣子
{"$and":[{"status":{"$ne":"deleted"}},{"$or":[{"userid":{"$in":["56bf7f25f59d1ff711000005"]}},{"collaboration":{"$elemMatch":{"userid":"56bf7f25f59d1ff711000005"}}}]}]}
正如我剛纔所說,這用來工作正常,但不會再有更新2.2.16。我很感謝你的幫助。
創建'searchCriteria'對象的代碼在哪裏? – chridam
構建searchCriteria的代碼就在上面。它開始於var searchCriteria = {}; searchCriteria。$和= [];並根據最終通過的參數建立標準,以達到我上面發佈的內容。 – bobsov534
你可以請[編輯]幷包括它的問題? – chridam