我有以下文件:
{
"_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等)以更具体地说明我正在做什么?