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可能被解析$ne: 0$ne == false在蒙戈一些条件。您可以尝试通过使用$ne: Number( 0 )解决此问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章