0
mongodbドライバを1.4から2.2.16に "償却"した後にアップグレードしました。mongdbドライバを使用したMongodb集約フレームワーク2.2.16結果セットに "undefined"を与える
問題は集約の方法と思われます。 $ matchを削除すると動作します。 $ matchで何かが私に結果セットの "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オブジェクト(文字列ではない)です。ここで私は先に述べたように、これは正常に動作するために使用ではなく、もうアップデートと2.2.16へ
{"$and":[{"status":{"$ne":"deleted"}},{"$or":[{"userid":{"$in":["56bf7f25f59d1ff711000005"]}},{"collaboration":{"$elemMatch":{"userid":"56bf7f25f59d1ff711000005"}}}]}]}
のように見えるものです。私はあなたの助けに感謝します。
'searchCriteria'オブジェクトを作成するコードはどこですか? – chridam
searchCriteriaを構築するコードはすぐ上にあります。これは、var searchCriteria = {}; searchCriteria。$と= [];で始まります。また、最終的に渡されたパラメータに基づいて基準を作成し、上に投稿したものになります。 – bobsov534
あなたは[編集]して質問に含めることができますか? – chridam