【发布时间】:2014-03-10 13:07:30
【问题描述】:
我有一组具有以下结构的文档
{
"_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})
这似乎不起作用,因为添加已有号码的收件人没有错误。 甚至可以对子文档数组进行唯一索引吗?
谢谢。
【问题讨论】:
-
检查这个[问题] (stackoverflow.com/questions/10383143/…)
标签: mongodb