【问题标题】:checking unique while inserting to mongoDB在插入 mongoDB 时检查唯一性
【发布时间】:2014-12-30 12:05:47
【问题描述】:

我有一个程序可以将一些值插入到 mongo db 中,并且我想避免将 product_src 重复插入到数据库中。我如何在代码中设置它?我的代码是

BObject doc = new BasicDBObject("product_name", bean.getProductName()).
                    append("product_url", bean.getProductURL()).
                    append("product_img", bean.getImageURL()).
                    append("product_price", bean.getPrice()).
                    append("product_src", bean.product_src).
                    append("country", bean.country));

提前致谢。

【问题讨论】:

  • 您可以检查第一个给定值是否存在于 mongoDB 集合中。
  • 这就是我想要的,但我怎么能用 mongoDB 做到这一点
  • .append("unique", true)。会附加这个吗?
  • @praveen_programmer 不,它不会避免重复。它将向所有文档添加一个名称为 unique 且值为 true 的字段。没有可设置的魔法值

标签: java mongodb mongodb-query mongo-java mongo-collection


【解决方案1】:

您有两种选择来确保 product_src 的唯一性:

使用唯一索引 MongoDB 在插入具有重复值的文档而不将该文档添加到集合时会引发错误。

【讨论】:

  • 那么我可以捕获错误并继续该过程吗?
  • 是的,我不记得如何捕获 atm 的确切细节。但很容易测试。
  • @sarath 你怎么能在 6 年后最终做到这一点:)?
猜你喜欢
  • 1970-01-01
  • 2011-11-01
  • 2020-08-25
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 1970-01-01
  • 2014-04-15
  • 1970-01-01
相关资源
最近更新 更多