模型的原子性.在传递文档数组时在Mongoose中创建



所以我理解MongoDB(和代理Mongoose)不支持事务,但涉及单个文档的操作总是原子的。在查看Mongoose文档时,我遇到了Model。创建,它允许传递文档数组并将它们存储在单个操作中,如下所示:

var array = [{ type: 'jelly bean' }, { type: 'snickers' }];
Candy.create(array, function (err, jellybean, snickers) {
 // ...
}

这个动作是原子的吗?Mongo是一次保存所有文档,还是Mongoose ODM循环遍历数组,一次保存一个文档?源代码(或源代码)将非常感谢。(另外,我是新人,所以请不要开枪!)

MongoDB Wire Protocol通过OP_INSERT接受单个文档或多个文档。然而,在服务器上,它们仍然是一次插入一个。

换句话说,如果服务器在插入的中途崩溃,一些文档将被插入,而另一些则不会被插入。在每个文档中,您都可以保证它的一致性视图-要么全部插入,要么没有。但对于多个文档,则不存在这样的保证。

相关内容

  • 没有找到相关文章

最新更新