在第一个参数中将variables传递给mongoose中的查询

我正在使用MEAN堆栈,在我的MongoDB中有一个这样的条目

{ "_id" : ObjectId("5577467683f4716018db19ed"), "requestMatrix" : { "1698005072" : { "rideId" : "641719948", "status" :"accepted" },"1698005073" : { "rideId" : "641719545", "status" :"rejected" } }, "partners":[ { "customerNumber" : 1698005072 }, { "customerNumber" : 1698072688 } ]} 

我想查询数据库根据状态是否被接受或拒绝返回给我这整个文档。

当我在命令提示符中运行下面的查询时,我得到了预期的答案

 db.joinedrides.find({'requestMatrix.1698005072.status':"accepted"}) 

但是当我想要从nodeJs做同样的事情时,我被困在上面的查询中的数字1698005072是一个variables,我不能写一个查询。

尝试过这样的事情

 var criteria = "'requestMatrix.'"+customerNumber+"'.status'"; JoinedRide.find({criteria:"accepted"},function(err,joinedRides){ }) 

其中customerNumber将根据不同的请求而变化,在上述情况下,其值是1698005072

任何帮助表示赞赏。

你需要做这样的事情:

 var query = {}; var criteria = "requestMatrix." + customerNumber + ".status"; query[criteria] = "accepted" JoinedRide.find(query,function(err,joinedRides){ })