gpt4 book ai didi

java - Spring data + MongoTemplate - 对文档的约束不会影响插入\保存

转载 作者:行者123 更新时间:2023-11-29 08:49:07 25 4
gpt4 key购买 nike

我在一个简单的网络应用程序中使用 spring 数据。

我有一个简单的文档,其中一个字段具有唯一约束:

@Document
@CompoundIndexes({ @CompoundIndex(name = "playerConstraint", def = "{ 'playerId': 1 }", unique = true)
public class InProgressGameRound extends AbstractDocument {
//...
}

问题是当我调用该文档的存储库时: this.repository.save(newRound);

数据库中已经存在 newRound.playerId - 我没有发现任何异常!程序计数器继续运行,似乎一切正常,即使文档没有真正保存(由于限制)

如果我尝试手动将相同的条目插入到 mongoDB 中 - 我确实会收到一条错误消息,指出约束不允许他插入。

我如何验证保存是否有效(使用存储库)?

谢谢

最佳答案

另外,我建议使用一种变体。我不确定您的数据结构,但您可以尝试插入没有“playerId”的文档。 Mongo 会自动为您的每个对象生成唯一的 _id,甚至更多 _id 字段默认在 mongo 中自动索引。

关于java - Spring data + MongoTemplate - 对文档的约束不会影响插入\保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23593254/

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