我试过在使用mongoskin的nodejs上两次向mongodb插入相同的条目。为集合指定了唯一索引。但是,第二次插入没有错误。如何检测是否存在重复错误?

谢谢!

最佳答案

确保您使用的是安全模式。要将安全模式用作连接的默认设置,可以在创建连接时将其指定为参数。从mongoskin docs

var db = mongoskin.db([
  '192.168.0.1:27017/?auto_reconnect=true',
  '192.168.0.2:27017/?auto_reconnect=true',
  '192.168.0.3:27017/?auto_reconnect=true'
], {
  database: 'testdb',
  safe: true
}, {
  connectArbiter: false,
  socketOptions: {
    timeout: 2000
  }
});


安全模式指示客户端在每次操作后调用getLastError,这是客户端如何知道是否存在错误的方法。因此,您通常希望确保启用安全模式!

09-11 17:42