【问题标题】:Does pymongo support batch query?pymongo 支持批量查询吗?
【发布时间】:2013-09-11 06:10:27
【问题描述】:

我们知道我们可以使用下面的python语句通过pymongo执行批量插入到mongodb:

db.foo.insert([{"_id" : 1377890}, {"_id" : 1377545}, {"_id" : 1377966}, etc ...])

其中参数是一个列表。受此启发,我尝试使用以下命令执行批处理查询:

db.foo.find([{"_id" : 1377890}, {"_id" : 1377545}, {"_id" : 1377966}, etc ...])

,但我得到了一个错误。那么,pymongo 或 mongodb 是否支持使用类似技术的批量查询?如果任何其他 mongodb 引擎支持上述批量查询,也请告诉我。谢谢!

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    不是作为字典列表,但你应该可以使用query operator 来达到相同的效果:

    db.foo.find({"_id": {"$in": [1377890, 1377545, 1377966, …]}})
    

    我承认我实际上并没有尝试过,但它与 MongoDB API 一致,并且应该也可以与 pymongo 一起使用。

    【讨论】:

    • 我刚才试过了。是的,它有效(_id-list 可以是任何列表变量)!非常感谢!
    • 另外,与我查询整个集合并使用python语言过滤想要的_id的方法相比,速度至少提高了四倍。多么酷的技术!
    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 2013-03-07
    • 1970-01-01
    • 2016-02-29
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多