我试图找出具体的mongoDb查询,到目前为止还没有成功。
我的集合中的文档看起来像这样(包含更多属性,与此查询无关):
[{
"_id": ObjectId("596e01b6f4f7cf137cb3d096"),
"code": "A",
"name": "name1",
"sys": {
"cts": ISODate("2017-07-18T12:40:22.772Z"),
}
},
{
"_id": ObjectId("596e01b6f4f7cf137cb3d097"),
"code": "A",
"name": "name2",
"sys": {
"cts": ISODate("2017-07-19T12:40:22.772Z"),
}
},
{
"_id": ObjectId("596e01b6f4f7cf137cb3d098"),
"code": "B",
"name": "name3",
"sys": {
"cts": ISODate("2017-07-16T12:40:22.772Z"),
}
},
{
"_id": ObjectId("596e01b6f4f7cf137cb3d099"),
"code": "B",
"name": "name3",
"sys": {
"cts": ISODate("2017-07-10T12:40:22.772Z"),
}
}]
我需要的是获取当前版本的文档,按代码或名称或两者进行过滤。当前版本意味着来自两个(或更多)具有相同代码的文档,我想选择具有最新sys.cts日期值的文档。
因此,使用过滤器名称=“name3”执行此查询的结果将是上一个列表中的第三个文档。没有任何过滤器的查询结果将是第2和第3个文档。
我知道如何使用更改的数据模型构建此查询,但我希望有人可以在没有这样做的情况下引导我。 谢谢