Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python实现MongoDB查询_Python_Mongodb - Fatal编程技术网

用Python实现MongoDB查询

用Python实现MongoDB查询,python,mongodb,Python,Mongodb,我正在尝试基于python的字典构建mongoDB查询。 密钥在dicts中应该是唯一的问题。 参见示例 MongoDB数据: { "_id" : ObjectId("4dcd3ebc9278000000005158"), col1 : 'foo' } { "_id" : ObjectId("4dcd3ebc9278000000005159"), col1 : 'bar' } Python代码: dict = {'col1': '

我正在尝试基于python的字典构建mongoDB查询。 密钥在dicts中应该是唯一的问题。 参见示例

MongoDB数据:

{
        "_id" : ObjectId("4dcd3ebc9278000000005158"),
        col1 : 'foo'
}
{
        "_id" : ObjectId("4dcd3ebc9278000000005159"),
        col1 : 'bar'
}
Python代码:

dict = {'col1': 'foo'}
dict.update({'col1': 'bar'})

db.test.find(dict)
仅显示一行col1=='bar'

如何使用字典或任何不需要唯一键的东西构建正确的MongoDB查询


谢谢

您是否正在查找“col1”是“foo”还是“bar”的文档

如果是这样,那么您需要db.test.find{'col1':{'in':['foo','bar']}

为了解释,该查询匹配col1值位于列表['foo','bar']中的文档


这里记录了高级mongodb查询:

您是否在查找“col1”是“foo”还是“bar”的文档

如果是这样,那么您需要db.test.find{'col1':{'in':['foo','bar']}

为了解释,该查询匹配col1值位于列表['foo','bar']中的文档


这里记录了高级mongodb查询:

我认为解决方案很简单,您应该将每个对象推送到dict中,并将它们存储在数组中:

dict = []
your_obj = {'col1': 'foo'}
dict.append(your_obj)
dict.append({'col1': 'bar'})
for o in dict:
    db.test.find(o)

我认为解决方案很简单,您应该将每个对象放入dict中,并将其存储在数组中:

dict = []
your_obj = {'col1': 'foo'}
dict.append(your_obj)
dict.append({'col1': 'bar'})
for o in dict:
    db.test.find(o)

另一种方法是在mongodb中使用$exists操作符

查询={'col1':{'$exists':'true'} db.test.finddict
这样您就不必指定col1可以取什么值。

另一种方法是在mongodb中使用$exists运算符

查询={'col1':{'$exists':'true'} db.test.finddict 这样,您就不必指定col1可以取什么值