【问题标题】:Keeping data consistency with multiple clients using nodejs and mongodb使用 nodejs 和 mongodb 与多个客户端保持数据一致性
【发布时间】:2015-03-30 05:54:35
【问题描述】:

我正在创建一个使用 mongodb 的 nodejs Web 服务器,我遇到了几种情况,当同时处理多个请求时,数据可能最终处于不一致的状态。例如,创建用户时,会先检查用户名不存在,然后再创建用户。但是,如果在检查用户名不存在但在创建用户之前,另一个客户端使用该用户名创建用户,则会出现问题。我怎样才能防止这个问题?使用不同的数据库是否更容易解决?

【问题讨论】:

    标签: node.js mongodb concurrency database


    【解决方案1】:

    MongoDB 允许您在索引上指定唯一约束。

    因此您可以在用户名上设置唯一索引,它会在插入时检查唯一用户名。您的问题将通过此功能解决

    db.collection.createIndex( { username: 1 }, { unique: true } )
    

    您可以从此link获取更多信息

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-03
      • 2018-07-05
      • 2020-09-10
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      相关资源
      最近更新 更多