gpt4 book ai didi

mongodb - 如果违反唯一索引,则 Mongo 更新

转载 作者:行者123 更新时间:2023-12-04 05:32:42 29 4
gpt4 key购买 nike

我想知道是否有一种方法(配置/操作),它允许在尝试插入其他违反唯一索引的文档时更新(从插入的记录中添加新数据,如在 save() 中添加新数据)数据库中的现有文档。 ??

谢谢

我有代表与特定社交网络相关的域用户配置文件的 SocialProfile 文档。
我想使用社交网络类型+该网络中唯一的用户的组合作为唯一。
{ 类型:“FB”,唯一:“1111111111”}
起初我想将这两个字符串合并为一个并使用连接作为文档 ID,然后在保存文档时会自动进行 upsert,但如果我错了,感觉就像错误的方法更正。
更有意义的是将这些属性定义为复合唯一索引..我希望能够根据该索引执行这些文档的更新插入..
我正在使用 Spring Data 框架,我如何在一般情况下和特定于 spring 数据中支持这种操作。
谢谢你的帮助

最佳答案

正如克里斯所说, upsert 可能是做到这一点的正确方法。你有一些示例数据吗?这是一个快速示例:

db.coll.update(
/* query */ {keys:"from", unique:"index"},
/* new document */ {keys:"from", unique:"index", new_value:"foo"},
/* upsert */ true,
/* multi */ false);

它将使用查询中指定的键查询文档,如果存在,它将使用提供的文档更新该文档。如果该文档不存在,它将创建一个新文档。

关于mongodb - 如果违反唯一索引,则 Mongo 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12376676/

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