集群独特的指数

时间:2010-12-14 20:22:07

标签: mongodb

我在使用mongodb中的集群唯一密钥时遇到了一些问题。我是整个文档数据库的新手,所以这可能是我以错误的方式处理事情。无论如何,鉴于此文件:

{
   "_id": "61d8ef04b0d2caa4f9000000",
   "ItemNumber": "242108",
   "Image": null,
   "ProductInformation": [
       {
           "Body": "Test",
           "Header": "Test",
           "Language": {
               "Id": 10,
               "Culture": "sv-SE",
               "Currency": "SEK",
               "ISO": "SV"
           }
       },
       {
           "Body": "Teste",
           "Header": "Foo",
           "Language": {
               "Id": 11,
               "Culture": "no-NB",
               "Currency": "NOK",
               "ISO": "NO"
           }
       }
   ]
}

我希望能够将ProductInformation限制为每个Language.Id只包含一个实例。我一直试图通过以下“设置”来做到这一点:

db.ItemInfo.ensureIndex({"ItemNumber" : 1, "ProductInformation.Language.Id" : 1}, {unique: true})

在我看来,这会在languageId和itemNumber之间创建一个聚类唯一键。但是,我仍然可以使用languageId 10添加任意数量的ProductInformation实例。我是否错误地设置了索引?我应该以另一种方式解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

相关问题