【问题标题】:query and insert simultaneously to a mongodb collection同时查询和插入到 mongodb 集合
【发布时间】:2013-11-11 16:39:59
【问题描述】:

同时查询和插入到 mongodb 集合会发生什么。

例如,

流程-I:

for page in coll.find():
     # access page

流程-II:

for page in gen_pages():
     # coll.insert(page)

进程-I 中的find() 会从进程-II 返回新插入吗?

假设 coll 很大并且进程-II 将在进程-I 之前终止

衷心感谢~

【问题讨论】:

    标签: python mongodb pymongo database


    【解决方案1】:

    MongoDB 中的光标是 not isolated。因此,假设 find 方法在内部使用 MongoDB 游标(我相信确实如此),结果会受到插入等数据更改的影响。因此,取决于查询的性质和数据插入后,新值可能会出现在结果中。有许多因素,包括光标当前指向的位置、排序、锁定时间、光标操作请求的文档数量……。

    【讨论】:

    • 所以是随机的?并且只能逐案分析?
    • 哦,其实我是在你的链接后面找到的。谢谢。不孤立意味着一切都可以是随机的。谢谢~
    • 当然,这不是随机的,但考虑到影响因素,它可能看起来不可预测。有很多因素。
    • 谢谢,我想我明白了。
    猜你喜欢
    • 2018-08-31
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2017-02-25
    • 1970-01-01
    相关资源
    最近更新 更多