我正在使用MEAN堆栈,我的mongodb中有这样的条目
[basicController.navigationItem setHidesBackButton:YES];
[basicController.navigationItem setTitle:@"Find Duo Partners"];
我想查询数据库,根据状态是被接受还是被拒绝,将整个文档返回给我。
当我在命令提示符中运行以下查询时,我得到了预期的答案
{ "_id" : ObjectId("5577467683f4716018db19ed"),
"requestMatrix" : { "1698005072" : { "rideId" : "641719948", "status" :"accepted" },"1698005073" : { "rideId" : "641719545", "status" :"rejected" } },
"partners":[ { "customerNumber" : 1698005072 }, { "customerNumber" : 1698072688 } ]}
但是当我想从nodeJs做同样的事情时,由于上面查询中的数字1698005072是一个变量,我被困住了,我无法为此编写查询。
试过这样的事情
db.joinedrides.find({'requestMatrix.1698005072.status':"accepted"})
其中customerNumber因不同请求而异,在上述情况下其值为1698005072
感谢任何帮助。
答案 0 :(得分:1)
你需要做这样的事情:
var query = {};
var criteria = "requestMatrix." + customerNumber + ".status";
query[criteria] = "accepted"
JoinedRide.find(query,function(err,joinedRides){
})