MongoDB多个字段的唯一索引

时间:2015-10-20 01:49:28

标签: mongodb indexing field unique

我正在使用MongoDb数据库,我需要使多个字段唯一。我需要的是MongoDb检查多个字段的组合是否唯一。让我们展示一下我需要的一个例子:

如果我在添加索引后在数据库中按此顺序添加以下内容:
{"name":"paul", "age":"21"}
{"name":"goerge", "age":"21"}
{"name":"paul", "age":"44"}
{"name":"paul", "age":"21"}

在以下示例中,将是最后一个。

我尝试了以下独特的复合索引,它不起作用。在前面的示例中,它只保留第一个,因为它检查每个字段是否唯一

db.test.createIndex({"name":1, "age":1}, {unique:true})

我也尝试过,同样的问题:

db.test.createIndex({"name":1}, {unique:true})
db.test.createIndex({"age":1}, {unique:true})

我搜索了几个小时,找不到任何可以让我这样做的东西。

有人知道吗?

1 个答案:

答案 0 :(得分:1)

您无法创建唯一的索引,因为您的名称和年龄不是唯一的!检查保罗 21 岁 如果您修复该值。创建索引的最佳方式是这个

db.test.createIndex({"name":1, "age":1}, {unique:true})