Chr*_*ian 7 python querying mongodb pymongo
我有一个集合,其中一些对象具有键foo.我现在尝试查询确实具有此键但不具有特定值的所有对象bar.为此,我使用以下查询:
collection.find({'foo': {'$exists': True}, 'foo': {'$ne': 'bar'}})
Run Code Online (Sandbox Code Playgroud)
我认为这两个标准都是通过逻辑AND连接的.但是,我也得到了没有特征键的对象foo.事实上,当我使用查询时,我得到相同的结果
collection.find({'foo': {'$ne': 'bar'}})
Run Code Online (Sandbox Code Playgroud)
在其他汉斯,如果我使用
collection.find({'foo': {'$exists': True}})
Run Code Online (Sandbox Code Playgroud)
我只是正确地获取了foo所有对象,所以其中一些具有价值bar.
如何制定查询以实现初始结果?是否有一种测试多个标准的顺序?我是否明确指定了两个标准的逻辑AND?
ale*_*cxe 15
您可以使用$and加入多个条件:
collection.find({"$and": [{"foo": {'$ne': 'bar'}},
{"foo": {'$exists': True}}]})
Run Code Online (Sandbox Code Playgroud)
And*_*nyi 13
没有必要使用$and,它也有效
db.collection.find({"foo":{"$ne":"bar", "$exists":true}})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13047 次 |
| 最近记录: |