gpt4 book ai didi

Mongodb findAndModify原子性

转载 作者:可可西里 更新时间:2023-11-01 09:17:23 26 4
gpt4 key购买 nike

我想知道如何引用返回的文档属性 从查找并在修改中使用它。前任。 :

var totalNoOfSubjects = 5;
db.people.findAndModify( {
query: { name: "Tom", state: "active", rating: { $gt: 10 } },
sort: { rating: 1 },
update: { $set: { average: <reference score value returned by find>/totalNoOfSubjects} }
} );

我的理解是 findAndModify 锁定文档,因此我想使用在查找中找到的属性在修改中执行更新。这将使操作原子的。

我想知道 mongo 是否支持它。

最佳答案

不,您不能在 findAndModify 的更新部分引用找到的文档中的值。在这方面它与 update 相同。

因此,您不能以原子方式执行此操作,因为您需要先获取文档,然后制作 updatefindAndMondify 以包含从获取的文档中计算出的值。

参见 https://jira.mongodb.org/browse/SERVER-458 future 可能会以一种方式解决这个问题。

关于Mongodb findAndModify原子性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14824845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com