【发布时间】:2021-12-24 06:58:39
【问题描述】:
我在 MongoDB 中有一个 JSON,我正在尝试检查 JSON 中的至少一项是否不包含特定字段。
{
"_id" : 12345,
"orderItems" : [
{
"itemId" : 45678,
"isAvailable" : true,
"isEligible" " false
},
{
"itemId" : 87653,
"isAvailable" : true
}
]
}
所以在上面的 JSON 中,由于订单项下的第二个不包含iseligible 字段,我需要获取这个_id。
到目前为止,我尝试了以下查询,但没有成功:
db.getCollection('orders').find({"orderItems.iseligible":{$exists:false})
【问题讨论】:
-
你能添加预期的输出吗?在 JSON 中?
-
如果没有符合条件的任何项目,我需要显示完整的文档。例如,有 2 个文档: { "_id" : 12345, "orderItems" : [ { "itemId" : 45678, "isAvailable" : true, "isEligible" " false }, { "itemId" : 87653, "isAvailable" :真}]} {“_id”:12346,“orderItems”:[{“itemId”:45678,“isAvailable”:真,“isEligible”“假},{“itemId”:87653,“isEligibe”:假, "isAvailable" : true } ] } 在上面的例子中,输出应该返回第一个文档,因为它不包含 isEligible 对于其中一个项目
标签: mongodb