【问题标题】:update() function disregards limit() in mongo [duplicate]mongo中的update()函数忽略limit()[重复]
【发布时间】:2017-08-03 21:14:15
【问题描述】:

假设我在数据库中有 10 个 Item 的文档。

让我们使用 limit() 检索 3 个符合某些条件的 Item 文档。

documents = Item.objects(somefield=somecondition).limit(3)

如果我这样做了

documents.update(),mongoengine 更新数据库中与查询匹配的所有文档,而不仅仅是我限制查询的 3 个文档。

我也尝试在参数中设置multi=False,但只有一个文档得到更新。

在查询自身而不是逐个循环遍历文档时,有没有办法更新?

【问题讨论】:

    标签: mongodb python-2.7 mongoengine


    【解决方案1】:

    据我所知,MongoDB 没有针对您的问题提供的可用解决方案。但是你可以尝试这样的事情

    documents.forEach(
        function (e) {
            e.field = 'value';
            db.collection.save(e);
        }
    );
    

    【讨论】:

      猜你喜欢
      • 2012-07-26
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 2013-02-22
      • 1970-01-01
      • 2017-01-30
      相关资源
      最近更新 更多