我有一系列具有以下结构的文件
{
"_id" : ObjectId("531db35c4e08d754e036d4c1"),
"name" : "Group 1",
"description" : "First group",
"recipients" : [
{
"cellnumber" : "27123456789",
},
{
"cellnumber" : "27987654321",
},
{
"cellnumber" : "27837939043",
}
],
"creationdate" : NumberLong("1394455388960"),
"accountKey" : "B6D45025BFDC5D2D1E5FA158A2729FCC"
}
我要求组文档中的每个收件人由单元格编号唯一标识。但是,多个组可以拥有相同的收件人。如何确保每个组都有一个每个收件人都是唯一的收件人子文档。 这是我通过ensureIndex
尝试的方法> db.groups.ensureIndex({"name":1, "recipients.cellnumber":1}, {unique:true})
这似乎不起作用,因为现有号码的收件人的添加没有错误。 甚至可以唯一索引子文档数组吗?
感谢。