2
我嘗試計算一個文檔與我集合中其他文檔的匹配分數。它適用於mapReduce,但我想知道這是否可以使用聚合(據說速度提高10倍)。數組的最小值和最大值?
我的文件如下:
{
name: "John",
age: 27,
track: {
section: 12,
start: 1,
end: 4
}
}
比分我嘗試計算僅僅是min(start_track_1, start_track_2) - max(stop_track_1, stop_track_2)
所以計算約翰的成績,我試圖創建我的管道,但在已經失敗第二運營商:
db.test.aggregate(
{ $match: {
'age' : {$gte: 22, $lte: 34},
'track.section': 12,
}
},
{ $project: {
_id : 1,
name : 1,
min_end: {$min: ["$track.end", 4]},
max_start: {$max: ["$track.start", 1]}
}
}
)
外殼答案:"errmsg" : "exception: invalid operator '$min'"
問題是,我雖然$ min和$ max操作符在數組上工作,就像$ add和$ subtract ...
所以現在我卡住了。我認爲在$組中使用$ min和$ max不能幫助我...
任何想法?
非常感謝!我沒有想到這個解決方案! – ybycode 2013-04-12 09:38:20