mongodb:检查JSON中是否存在该字段

时间:2016-12-14 07:20:30

标签: json mongodb

在mongo shell中我试图检查推入变量的JSON是否具有字段名称。但是,我因错过某些内容而收到错误。

var p= db.monit.findOne({_id: 0})
if ("p.pay[0].reR": {$exists: true})
    print(p.pay[0].reR)

在上面的代码中,我试图检查在变量reR中推送的JSON文档中是否存在p字段。

3 个答案:

答案 0 :(得分:1)

我认为你应该尝试使用,

window.userToken

答案 1 :(得分:1)

你混合了两件不同的东西。  必须在mongoDB查询中使用$exists。  你需要的是javascript方法obj.hasOwnProperty()。 像这样使用它:

 var p= db.monit.findOne({_id: 0})
 if ( p.pay[0].hasOwnProperty("reR")){
        print(p.pay[0].reR);
    }

答案 2 :(得分:0)

在查询中使用 $exists 运算符:

var p = db.monit.findOne({
    "_id": 0,
    "pay.0.reR": { "$exists": true }
})
if (p !== null) printjson(p.pay[0].reR)

这将查找一个文档,该文档符合上述查询,其中_id的值为AND,其中 $exists 是一个属性为reR的嵌入式文档pay数组的第一个元素(使用dot notation)。