我试图选择一个文档的数组中不包含值的文档.
我有两个问题,我将分别提出:
(1)我无法使用$ not运算符来处理数组值查询:例如,如果我的集合中包含以下文档:
{ _id: ObjectId("000000000000000000000000"),
mylist: [ "red", "green", "blue" ] }
我可以使用以下选择此文档:
db.myCol.find({mylist:"red"})
但是,我想通过测试没有橙色来选择这个文件:
db.myCol.find({$not:{mylist:"orange"}})
为什么这不起作用?
(2)如果数组值是ObjectIds,我无法获取数组查询中的值:
{ _id: Object("000000000000000000000000"),
mylist: [ ObjectId("111111111111111111111111") ] }
以下内容不会检索此文档:
myCol.find({mylist:ObjectId("111111111111111111111111")})
有人可以建议我可能做错了吗?
db.myCol.find({ mylist: { $ne: 'orange' } })
Run Code Online (Sandbox Code Playgroud)
你的第二个应该(并且确实)对我有用,也许你使用了错误的数量.
| 归档时间: |
|
| 查看次数: |
6374 次 |
| 最近记录: |