【发布时间】:2018-06-20 15:23:55
【问题描述】:
我正在处理一个 mongoDB 查询。
我有几个文档,我查询了以下结果:
{
"_id" : 1000.0,
"date" : ISODate("2018-05-25T00:20:00.000Z"),
"value" : true
}
{
"_id" : 1000.0,
"date" : ISODate("2018-05-25T00:26:00.000Z"),
"value" : false
}
{
"_id" : 1000.0,
"date" : ISODate("2018-05-25T00:30:00.000Z"),
"value" : false
}
过滤了原始文档,因此我只能获得现在之前最后 15 分钟内的文档,并且无法知道该时间范围内有多少条目。
我需要扩展我现有的查询,以便它返回基于“值”的状态。如果有 no true 我需要一个状态 0,如果有 至少 1 但不仅是 true 我需要一个状态 1 ,如果只有 true 我需要状态 2。
例如:
{
"_id" : 1000,
"status" : 1
},
{
"_id" : 1001,
"status" : 2
}
有没有办法使用 mongoDB 来完成这个任务?或者在java端做它会更好/更容易吗?注意数据库中有几个_id。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework