在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
字段。
答案 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)。