Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 插入mongoDB时检查唯一性_Java_Mongodb_Mongodb Query_Mongo Java_Mongo Collection - Fatal编程技术网

Java 插入mongoDB时检查唯一性

Java 插入mongoDB时检查唯一性,java,mongodb,mongodb-query,mongo-java,mongo-collection,Java,Mongodb,Mongodb Query,Mongo Java,Mongo Collection,我有一个程序将一些值插入mongo db,我希望避免重复将product_src插入数据库。我如何在代码中设置它?我的代码是 BObject doc = new BasicDBObject("product_name", bean.getProductName()). append("product_url", bean.getProductURL()). append("product_img", bean.get

我有一个程序将一些值插入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));

提前谢谢

您有两个选项来确保产品的唯一性:

  • 将其存储为文档
    \u id
    。在_id上始终存在唯一的索引约束
  • 关于乘积

使用唯一索引插入具有重复值的文档时,MongoDB将抛出错误,并且不会将文档添加到集合中。

您有两个选项来确保产品的唯一性:

  • 将其存储为文档
    \u id
    。在_id上始终存在唯一的索引约束
  • 关于乘积

使用唯一索引插入具有重复值的文档时,MongoDB将抛出错误,并且不会将文档添加到集合中。

您可以检查MongoDB集合中是否存在第一个给定值。这正是我想要的,但如何使用MongoDB.append(“unique”,true)执行此操作。附加这个可以吗?@praveen_程序员不,它不会避免重复。它将为所有文档添加一个名为unique且值为true的字段。没有要设置的神奇值。您可以检查第一个给定值是否存在于mongoDB集合中。这就是我想要的,但如何使用mongoDB.append(“unique”,true)实现这一点。附加这个可以吗?@praveen_程序员不,它不会避免重复。它将为所有文档添加一个名为unique且值为true的字段。设置没有神奇的价值,所以我能捕捉到错误并继续这个过程吗?是的,我记不起如何捕捉atm的确切细节,但很容易测试。@sarath你怎么能在6年后最终做到这一点:)?那么我能捕捉到错误并继续这个过程吗?是的,我记不起如何捕捉atm的确切细节。,但这很容易测试。@sarath你怎么能在6年后最终做到这一点:)?