繁体   English   中英

MongoDB - 如何在嵌套的对象数组中找到 null 值

[英]MongoDB - How to find null value in nested array of objects

如果我有如下所示的文件:

  {
    "items": [
      {
        "key": null
      }
    ]
  },
  {
    "items": [
      {
        "key": 2
      }
    ]
  }
]

...如何找到“key”设置为 null 的文档?

这是我一直在尝试的查询,但我不明白为什么它会返回两个文档:

db.collection.find({
  "items.0.key": {
    $eq: null
  }
})

null不仅匹配自身,还匹配“不存在”。 因此,查询值为null的键将返回所有文档

https://www.oreilly.com/library/view/mongodb-the-definitive/9781449344795/ch04.html#sect2_d1e4021

解决方法:我们需要使用$type运算符执行查询。

db.collection.find({
  "items.0.key": {
    $type: 10
  }
})

Mongo游乐场

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM