【发布时间】:2017-07-26 13:15:39
【问题描述】:
如何在位置 3 上找到具有 $match 的文档(仅数组“ndr”中的最后一项)。需要只在ndr的最后一个数组项中进行聚合搜索。
{
"_id" : ObjectId("58bd5c63a3d24b4a2e4cde03"),
"name" : "great document",
"country" : "us_us",
"cdate" : ISODate("2017-03-06T12:56:03.405Z"),
"nodes" : [
{
"node" : 3244343,
"name" : "Best Node ever",
"ndr" : [
{
"position" : 7,
"cdate" : ISODate("2017-03-06T10:55:20.000Z")
},
{
"position" : 3,
"cdate" : ISODate("2017-03-06T10:55:20.000Z")
}
]
}
],
}
聚合后我需要这个结果
{
"name" : "great document",
"country" : "us_us",
"cdate" : ISODate("2017-03-06T12:56:03.405Z"),
"nodes" : [
{
"node" : 3244343,
"name" : "Best Node ever",
"ndr" : [
{
"position" : 3,
"cdate" : ISODate("2017-03-06T10:55:20.000Z")
}
]
}
]
}
希望有人能帮助我。
【问题讨论】:
-
嗨 Josch,欢迎来到 Stack Overflow。你能edit你的问题来展示你到目前为止所做的尝试,以及它出了什么问题吗?
-
您的 MongoDB 服务器版本是多少?
-
我有 MongoDB 版本 3.4
标签: mongodb mongodb-query aggregation-framework