如何确保MongoDB更新非_id匹配查询的性能?

时间:2015-08-12 08:51:52

标签: mongodb mongodb-query

我有一个生产API和MongoDB数据库,我以这种方式对集合执行更新(mongo shell语法表示):

db.lineups.update({_id: <some_object_id>}, <some_update>);

阵容集合得到了相关领域:

  • players,是一个对象数组
  • matchDate,是round属性为数字
  • 的对象
  • team,是一个字符串

现在我需要对此使用其他更新:

db.lineup.upate({team: <team_string_id>, 'matchDate.round': {$gte: <any_integer>}}, <update_object>)

所以我需要弄清楚这会如何影响数据库的更新和一般性能以及我如何应对它。

{team: true, "matchDate.round": true}这样的复合索引会有帮助吗?

要扩展有关架构设计的说明,以下句子适用于我的收藏:

  • 有多个lineup个文档同一个团队。
  • 以上是因为,同一个团队有多个lineup docs with distinct matchDate.round`。
  • 只用一句话:&#39;一个团队在每个比赛日期轮次中获得多个阵容。&#39;

示例文档将是:

{
  players: [{name: "Ramos", number: 4}, {name: "James", number: 10}, {name: "Isco", number: 23}],
  matchDate: {round: 3, date: new Date()},
  team: "key-real-madrid"
}

0 个答案:

没有答案