确保对象数组中的每个元素都包含键的唯一值

时间:2015-06-09 14:59:22

标签: mongodb meteor

我有一个像这样的mongo集合:

{
  _id: 'asdasdasd',
  battletag: 'battletag#1290',
  games: [{
    id: "somegameid",
    name: "Starcraft II",
    characters: ['corvid'],
    groups: ['Husky Starcraft']
  }, {
    id: "someothergameid",
    name: "World of Warcraft",
    characters: ['corvid', 'crow', 'crowtoe'],
    groups: ['Warlords of Draenor']
  }]
}

我想确保,对于games中的每个游戏,id属性都是唯一的。有没有办法确保mongodb中对象数组中值的唯一性?

1 个答案:

答案 0 :(得分:0)

您应该依赖mongoDB内置_id。使用所有游戏创建另一个集合,并使用其集合的游戏数组中的文档_id来引用它。您仍然可以在游戏阵列中存储与游戏无直接关系的所有数据,以及游戏_id