gpt4 book ai didi

c# - Builders.Update.Set() 如何处理并行访问?

转载 作者:可可西里 更新时间:2023-11-01 09:39:16 25 4
gpt4 key购买 nike

假设“items”(在下面的 Set() 方法中作为参数提供)被定义为列表(TM 是某种结构类型,即仅由属性组成)包含仅一个项目,并且10 个进程试图同时写入对 items 的更新(没有向列表添加任何内容):

Builders<TK>.Update.Set("Items", items);

更新意味着 BSON 中至少有一个元素具有修改后的

MongoDB 在这种情况下会怎样?

它最终是否会用最后一个进程覆盖到那个单个元素(让那个列表只有一个元素)?

或者它会添加 10 个这样的元素(项)到那个列表中吗?

最佳答案

我不知道并行访问是如何工作的。但是Set operator总是用插入的值覆盖值。

要向数组添加新值,您应该使用 addToSet operator (它只添加新值)或 push operator .

您也可以作为构建者访问它们:

Builders<TA>.Update.AddToSet
Builders<TA>.Update.Push

关于c# - Builders<TA>.Update.Set() 如何处理并行访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41788537/

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