我正在使用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})
我搜索了几个小时,找不到任何可以让我这样做的东西。
有人知道吗?
答案 0 :(得分:1)
您无法创建唯一的索引,因为您的名称和年龄不是唯一的!检查保罗 21 岁 如果您修复该值。创建索引的最佳方式是这个
db.test.createIndex({"name":1, "age":1}, {unique:true})