場的最大如何獲得最大sections.Id以下文件,其中collection._id =一些參數MongoDB的查詢來獲取裏面陣列
{
"_id" : ObjectId("571c5c87faf473f40fd0317c"),
"name" : "test 1",
"sections" : [
{
"Id" : 1,
"name" : "first section"
},
{
"Id" : 2,
"name" : "section 2"
},
{
"Id" : 3,
"name" : "section 3"
}
}
我曾嘗試下面
db.collection.aggregate(
[
{
"$match": {
"_id": ObjectId("571c5c87faf473f40fd0317c")
}
},
{
"$group" : {
"_id" : "$_id",
"maxSectionId" : {"$max" : "$sections.Id"}
}
}
]);
但在不是返回max int single值,而是返回section數組中所有id的數組。
在node.js中執行更多相同的查詢時,它將返回一個空數組。
使用$項目拋出異常:無效運算符「$最大」,代碼15999 –
什麼版本的MongoDB是您使用......在這種情況下,請按照@kakashi hatake的說明使用展開,但在匹配查詢後使用它來限制展開文檔的數量 – kryshna
MongoDB shell版本:3.0.7。我需要所有展開的部分的最大值,但是對於已經應用了過濾器的特定collection._id,因此無法對sections.Id應用過濾器。 –