Mongodb避免重复条目
2022-09-01 14:14:31
我是mongodb的新手。请我知道如何避免重复输入。在关系表中,我们使用主键来避免它。我可以知道如何使用java在Mongodb中指定它吗?
我是mongodb的新手。请我知道如何避免重复输入。在关系表中,我们使用主键来避免它。我可以知道如何使用java在Mongodb中指定它吗?
将索引与该选项结合使用。{unique:true}
// everyone's username must be unique:
db.users.createIndex({email:1},{unique:true});
您也可以跨多个字段执行此操作。有关更多详细信息和示例,请参阅文档中的此部分。
唯一索引可确保索引字段不存储重复值。即,强制索引字段的唯一性。默认情况下,MongoDB 在创建集合期间在_id字段上创建唯一索引。
如果您希望从唯一键中忽略值,则还必须通过添加以下选项使索引稀疏(请参阅此处):null
sparse
// everyone's username must be unique,
//but there can be multiple users with no email field or a null email:
db.users.createIndex({email:1},{unique:true, sparse:true});
如果要使用 MongoDB Java 驱动程序创建索引。尝试:
Document keys = new Document("email", 1);
collection.createIndex(keys, new IndexOptions().unique(true));
这可以使用“_id”字段来完成,尽管不鼓励使用。假设您希望名称是唯一的,那么您可以将名称放在“_id”列中,并且您可能知道“_id”列对于每个条目都是唯一的。
BasicDBObject bdbo = new BasicDBObject("_id","amit");
现在,在集合中没有其他条目的名称可以命名为“amit”。这可能是您要求的方式之一。