-1

如图所示,有时,嵌入式数组注释的元素会被修改,或者新的注释将作为第一个元素插入到注释中,当这些修改发生时,我想在最小范围内锁定一些东西以避免讨厌的问题,问题是:

1,What scope to lock is appropriate?
2,How to lock?


{
    name: 'Me',
    comments: [{
    "author": "Joe S.",
    "text": "I'm Thirsty"
  },
  {
    "author": "Adder K.",
    "text":  "old content"
  }]
}
4

2 回答 2

3

当您进行更新时,RethinkDB 会自动锁定文档,因此对嵌入式评论数组的并发修改应该不是问题。

是否需要额外的锁定取决于您的应用程序和数据结构。例如,嵌入评论中的某个字段是否是对必须维护的不同文档的引用?

于 2013-06-18T17:01:06.073 回答
1

RethinkDB 为每个文档提供原子性(参见http://www.rethinkdb.com/docs/advanced-faq/#how-does-the-atomicity-model-work)。

因此,您可以更新嵌套数组(推送/更新/删除数组中的元素),而不必担心并发操作。

于 2013-06-18T20:15:23.190 回答