0
說我有以下幾點:
this.aggregate(
{$unwind: "$tags"},
{$match: {tags: {$in: pip.activity.tags}}},
{$group : {_id : '$_id',matches:{$sum:1}}},
{$project: { _id: 0,matches:1}},
{$sort: {matches:-1 }},
callback
);
我怎麼會去,包括在業績的額外「外部」 ObjectID字段? e.g如果我有以下幾點:
var otherField = new ObjectId('xxxxxxx');
this.aggregate(
{$unwind: "$tags"},
{$match: {tags: {$in: pip.activity.tags}}},
{$group : {_id : '$_id',matches:{$sum:1}}},
{$project: { _id: 0,matches:1,otherField:otherField}}, <-- include otherField
{$sort: {matches:-1 }},
callback
);
這是可能的,或者我應該用一個for循環或MapReduce的這個特定的步驟?我正在尋找一些非常有效的東西。
謝謝努克,我給了它一個去,它做了這份工作:)希望在未來的版本中有一些似乎更少的解決方法,仍比MapReduce更好! – 2013-03-14 09:03:01
在$項目中指定任意常量BSON值的能力看起來是一個很好的請求 - 如果它已經存在,可能值得添加JIRA或投票支持。有一些關於$ literal操作符的討論 - 可能值得關注。 – 2013-03-15 00:35:36