pymongo提取文件有多个条件mongodb

时间:2014-06-18 11:41:55

标签: python json mongodb find pymongo

我在pymongo上寻找一个与mongodb命令相当的命令:

db.collection.find({
    $and:[
        {"key1":"value1"},
        { 
            $or: [
                {"key2" : "value2"},
                {"key2": "value3"}
           ]
        }
    ]
})

一般情况下,我想搜索添加多个条件的文档。

由于

2 个答案:

答案 0 :(得分:0)

你可以做mongodb shell所做的一切,但是用pymongo。只需使用字符串!

client = MongoClient('localhost', 47017)
mydb = client.mydb
mycol = mydb.mycol

mycol.find({
    "$and":[
        {"key1":"value1"},
        { 
            "$or": [
                {"key2" : "value2"},
                {"key2": "value3"}
           ]
        }
    ]
})

答案 1 :(得分:0)

遵循API文档:

http://api.mongodb.org/python/current/api/pymongo/collection.html#pymongo.collection.Collection.find

只需使用find(),spec参数就可以处理多键dict,所以你可以只使用

col.find({"key1":"value", "$or":["key2":"value2", "key3":"value3"]})