我正在使用 mongodb。
我正在使用聚合查询。我正在添加$match
用于匹配子文档的管道。
var aggregatePipes= [{ "$unwind": "$payload" }, { "$sort": { "payload.r": 1 } }];
aggregatePipes.push({ '$match': { 'payload.r': { '$ne': 0 } } });
我的文档是这样的
{
"_id" : ....,
"activationId" : ....,
"parentActivationId" : ....),
"m" : "c9:8c:2f:61:e7:f8",
"status" : "new",
"payload" : [
{
"r" : -67,
"t" : ISODate("2017-12-18T11:42:43.964Z")
},
{
"r" : 0,
"t" : ISODate("2017-12-18T11:42:47.073Z")
}
],
"createdAt" : ISODate("2017-12-18T11:43:51.732Z"),
"updatedAt" : ISODate("2017-12-18T11:43:51.732Z"),
"deviceId" : "DEVICEID"
}
如果我使用任何数字而不是 0,那么它工作正常。但它不适用于 0。
谁能告诉我我在这里错过了什么?
JS可能被解析$ne: 0
为$ne == false
在蒙戈一些条件。您可以尝试通过使用$ne: Number( 0 )
来解决此问题
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句