我有一个包含文档的集合,其结构如下:
{
"Id" : 123
"History" : [
{
"MachineId" : 1,
"Time" : ISODate("2014-02-10T13:10:00Z"),
"Status" : 0
},
{
"MachineId" : 1,
"Time" : ISODate("2014-02-10T13:10:44Z"),
"Status" : 1
},
{
"MachineId" : 2,
"Time" : ISODate("2014-02-10T13:10:50Z"),
"Status" : 2
}
]
},
{
"Id" : 345
"History" : [
{
"MachineId" : 1,
"Time" : ISODate("2014-02-10T13:10:00Z"),
"Status" : 0
},
{
"MachineId" : 1,
"Time" : ISODate("2014-02-10T13:10:44Z"),
"Status" : 1
}
]
}
我有一个输入项MachineId和Status,我想找到所有具有给定的MachineId和Status嵌套历史项的文档,但是此项必须是最新的。
例如,对于MachineId=1和Status=1,我只想获取Id=345的文档。
我知道如何查询嵌套数组元素,但在这里,我需要首先对历史记录数组进行排序以找到最后添加的项。我不知道如何在MongoDB中实现这一点。