11
我一直在寻找一段时间,似乎无法排序内部数组,并保持在我目前正在使用的文档中。Mongodb排序内部阵列
{
"service": {
"apps": {
"updates": [
{
"n" : 1
"date": ISODate("2012-03-10T16:15:00Z")
},
{
"n" : 2
"date": ISODate("2012-01-10T16:15:00Z")
},
{
"n" : 5
"date": ISODate("2012-07-10T16:15:00Z")
}
]
}
}
}
所以我想保留该项目作为服务返回,但有我的更新数组排序。到目前为止,我有:
db.servers.aggregate(
{$unwind:'$service'},
{$project:{'service.apps':1}},
{$unwind:'$service.apps'},
{$project: {'service.apps.updates':1}},
{$sort:{'service.apps.updates.date':1}});
任何人都认为他们可以帮助吗?
太棒了!我对聚合非常陌生,并且有一种感觉,它可以做这样的事情。 – 2013-03-13 15:26:03
如果应用程序具有“名称”字段,并且我想将名称保留在结果集中,那么该怎么办? – 2013-03-13 15:57:33
@ user1251624你可以在'$ group'(在'_id'或作为一个单独的字段)和'$ project'中包含该字段。如果你需要更多的帮助,最好把它当作一个单独的问题来讨论,因为它可以是不重要的。 – JohnnyHK 2013-03-13 16:06:18