Mongodb不等于0不使用聚合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb不等于0不使用聚合相关的知识,希望对你有一定的参考价值。
我正在使用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可能会在mongo的某些条件下将$ne: 0
解析为$ne == false
。您可以尝试使用$ne: Number( 0 )
来解决此问题
以上是关于Mongodb不等于0不使用聚合的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB 聚合:FieldPath 可能不以 $ 开头