sar*_*ath 6 java mongodb mongo-collection mongodb-query
我正在使用java程序进行mongo db插入尝试为字段创建唯一索引.product_src是我的集合中的一个字段,我想将其设置为唯一索引,以避免重复插入.我正在尝试以下代码,但显示语法错误这是什么问题.
DB db;
try {
sample = new MongoClient("myIP",PORT);
db = sample.getDB("client_mahout");
t = db.getCollection("data_flipkart_in_avoid_duplicate_checking");
System.out.println("enter the system ip");
db.t.ensureIndex({"product_src":1});
} catch (Exception e) {}
Run Code Online (Sandbox Code Playgroud)
t是集合.行db.t.ensureIndex({"product_src":1})存在问题;
请给我一个示例代码,如何在mongo DB中创建唯一索引
Cug*_*uga 12
为了将来参考,在Java Mongo驱动程序v3.0 +中处理此问题的方法是:
public void createUniqueIndex() {
Document index = new Document("field", 1);
MongoCollection<Document> collection = client.getDatabase("db").getCollection("Collection");
collection.createIndex(index, new IndexOptions().unique(true));
}
Run Code Online (Sandbox Code Playgroud)
您需要将一个传递DBObject给ensureIndex()方法.
db.t.ensureIndex(new BasicDBObject("product_src",1))
Run Code Online (Sandbox Code Playgroud)
但是,该ensureIndex方法自版本以来已被弃用2.12,您需要使用createIndex().
db.t.createIndex(new BasicDBObject("product_src",1));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5095 次 |
| 最近记录: |