如何基于索引位置向数组添加元素

时间:2016-06-08 12:53:45

标签: mongodb

我有以下文件:

{
 "_id" : 5,
 "quizzes" : [
   { "x": 111, "score" : 10, "index" : 2 },
   { "x": 2, "score" : 8, "index" : 1 },
   { "x": 13, "score" : 5, "index" : 0 },
   { "x": 4, "score" : 6, "index" : 3 }
  ]
}

现在在UI方面,我可以添加新的测验,可以添加到列表中的任何位置(开头,结尾或上面的任何索引)。

我还可以删除一个测验,这意味着上面的列表索引会发生变化。此外,我可以重新排序测验,这意味着在重新排序的测验之后,这些测验的上述指数会发生变化。

现在,在mongo世界中,处理这些场景的最佳方法是什么?

我应该只阅读整个文档并替换整个测验部分(请注意我的实际文档在数组中会有更多数据)? 或者,我是否依赖于我正在进行的操作(添加,删除,重新排序)应用特定操作($ push等)以更具体地说明我正在做什么?

0 个答案:

没有答案