这里的问题称为原子性。如果需要执行find-save,find- save,则需要以某种方式打包这些操作(事务)。这取决于您使用的软件。在redis中,您具有multi和exec命令。在mongodb中,您具有findAndModify()。另一种解决方案是使用索引。当您尝试保存同一字段两次时,您将收到一个错误。在猫鼬的schemaType中使用属性“ index:true”和“ unique:true”:
var schema = mongoose.Schema ({
myField: { type: String, index: true, unique: true, required: true },
});
这就是您所需要的:Mongodb-隔离操作序列- 执行两阶段提交。但是要考虑到,如果您需要进行大量事务,mongodb可能不是最佳选择。