【发布时间】:2018-10-23 09:21:10
【问题描述】:
我是 Mongo Db 的新手,希望能在此查询方面提供一些帮助。
DATA:
{
"_id" : ObjectId("5ba2442e9b75ee04d429ed34"),
"RESOURCE_ID" : "100-101",
"CITY_ID" : "200-1239",
"EVENT" : "0"
},
{
"_id" : ObjectId("5ba2442e9b75ee04d429ed34"),
"RESOURCE_ID" : "100-101",
"CITY_ID" : "200-1239",
"EVENT" : "2"
},
{
"_id" : ObjectId("5ba2442e9b75ee04d429ed34"),
"RESOURCE_ID" : "100-101",
"CITY_ID" : "200-1239",
"EVENT" : "3"
},{
"_id" : ObjectId("5ba2442e9b75ee04d429ed34"),
"RESOURCE_ID" : "100-101",
"CITY_ID" : "800-1239",
"EVENT" : "1"
}
我使用 MATCH CONDITION 编写了以下聚合管道 “CITY_ID”:“200-1239”和“RESOURCE_ID”:“100-101”,但是如何在“1”时更改事件,然后是“I”(或)事件,当“2”时,然后是“U”(或)事件时'3' THEN 'D' (OR) 事件当 '0' 然后 'V' 任何人请给我建议。
db.COLLECTION.aggregate([{
{
$match:{
$and:[{"CITY_ID" : "200-1239","RESOURCE_ID" : "100-101"}]
}
},
])
预期输出:
{
"_id" : ObjectId("5ba2442e9b75ee04d429ed34"),
"RESOURCE_ID" : "100-101",
"CITY_ID" : "200-1239",
"EVENT" : "V"
},
{
"_id" : ObjectId("5ba2442e9b75ee04d429ed34"),
"RESOURCE_ID" : "100-101",
"CITY_ID" : "200-1239",
"EVENT" : "U"
},
{
"_id" : ObjectId("5ba2442e9b75ee04d429ed34"),
"RESOURCE_ID" : "100-101",
"CITY_ID" : "200-1239",
"EVENT" : "D"
},{
"_id" : ObjectId("5ba2442e9b75ee04d429ed34"),
"RESOURCE_ID" : "100-101",
"CITY_ID" : "200-1239",
"EVENT" : "I"
}
【问题讨论】:
标签: mongodb mongoose mongodb-query