假设'项目' (作为下面的Set()方法中的参数提供)被定义为List(TM是某种结构类型,即仅由属性构成),其中包含仅一个项,并且10个进程尝试同时写入更新为items
(不向列表中添加任何内容):
Builders<TK>.Update.Set("Items", items);
更新意味着BSON中至少有一个元素具有修改后的值。
在这种情况下MongoDB会是什么?
最终是否会将最后一个进程覆盖到单个元素中(将该List保留为单个元素)?
或者它将<10>这样的元素(项目)添加到该列表中吗?
答案 0 :(得分:2)
我不知道如何使用并行访问。但是Set operator总是用插入的值覆盖值。
要向数组添加新值,您应使用addToSet operator(仅添加新值)或push operator。
您也可以将它们作为Builders访问:
Builders<TA>.Update.AddToSet
Builders<TA>.Update.Push