MongoDB是否具有并发问题的顺序写入/读取?

时间:2014-04-02 22:30:35

标签: c# mongodb iis mongodb-.net-driver

所以没有代码示例这样做可能会使这更难,但让我试着解释我们遇到的问题。

我们在MongoDB中有一个页面配置文档,层次结构深度为7-10个节点。

我们有一个对象让我们调用这个Sections,然后每个部分都有一个名为Widgets的节点。所以Doc有Sections,Sections有Widgets。 Docs,Sections和Widgets都有配置数据/属性,但暂时忽略它。

在我们的API中,我们有一个调用添加新的POST / sections / new部分,另一个调用部件来添加小部件到POST / sections // widgets / new。

前端使用promises在要求创建窗口小部件之前等待部分完成,并且后端在响应前端之前等待mongo驱动程序在写入时返回成功。因此,如果一切都按预期工作,前端添加小部件的请求将会成功。

  1. http请求添加部分
  2. 服务器更新查询到mongo以更新subdoc,并添加新的部分
  3. 服务器对前端的响应。
  4. 添加小部件的http请求
  5. 服务器更新查询到mongo以更新subdoc,并将新窗口小部件添加到新部分
  6. 服务器对前端的响应。
  7. 快乐的用户。
  8. 在我们的场景#5中似乎失败了,因为它无法找到subdoc / new section。

    我们尝试过使用WriteConcern = 1,Fsync,safe = true,journaling = true,但似乎没有任何效果。

    我们缺少什么?我们没做什么让这项工作?这甚至可行吗?

    PS。我被告知像这样的问题中的信息已经过时了。 Read-your-own-writes consistency in Mongodb

0 个答案:

没有答案