16-理解原子写入操作
1.5.4 理解原子写入操作
在MongoDB中,写入操作在文档级是原子性的。不能有多个进程同时更新一个文档或集合,这意味着对反范式化文档的写入是原子性的。然而,写入范式化文档时,需要对其他集合中的子文档执行独立的写入操作,因此对范式化文档的写入可能不是原子性的。
设计文档和集合时,必须考虑写入的原子性,以确保设计符合应用程序的要求。换句话说,如果必须将写入对象的各个部分作为一个整体,并确保其原子性,就需要以非范式化方式设计对象。
在MongoDB中,写入操作在文档级是原子性的。不能有多个进程同时更新一个文档或集合,这意味着对反范式化文档的写入是原子性的。然而,写入范式化文档时,需要对其他集合中的子文档执行独立的写入操作,因此对范式化文档的写入可能不是原子性的。
设计文档和集合时,必须考虑写入的原子性,以确保设计符合应用程序的要求。换句话说,如果必须将写入对象的各个部分作为一个整体,并确保其原子性,就需要以非范式化方式设计对象。