MongoDB GridFS中是否为CRUD操作维护了原子性?
因为GridFS在MongoDB GridFS中是否为CRUD操作维护了原子性?,mongodb,crud,gridfs,atomicity,Mongodb,Crud,Gridfs,Atomicity,因为GridFS在fs.chunks中存储数据块,在fs.files中存储元数据。因此,在一个事务中,它管理两个集合。是否保证所有CRUD操作的原子性?这是说明: 如果需要以原子方式更新整个文件的内容,请不要使用GridFS。或者,您可以存储每个文件的多个版本,并在元数据中指定文件的当前版本。您可以在上载文件的新版本后更新元数据字段,该字段指示原子更新中的“最新”状态,然后根据需要删除以前的版本 我是MongoDB认证DBA,老实说,我不确定。我对C、R和D很有信心。关于U,我必须进行研究,因为
fs.chunks
中存储数据块,在fs.files
中存储元数据。因此,在一个事务中,它管理两个集合。是否保证所有CRUD操作的原子性?这是说明:
如果需要以原子方式更新整个文件的内容,请不要使用GridFS。或者,您可以存储每个文件的多个版本,并在元数据中指定文件的当前版本。您可以在上载文件的新版本后更新元数据字段,该字段指示原子更新中的“最新”状态,然后根据需要删除以前的版本
我是MongoDB认证DBA,老实说,我不确定。我对C、R和D很有信心。关于U,我必须进行研究,因为原子性只能在文档级别上得到保证。请有一点耐心。可能值得指出的是,这意味着MongoDB不仅不能保证
fs.chunks
和fs.files
的一致性,而且不能保证fs.chunks
中一个文件的块的一致性。@Philipp:假设我将名称保存为元数据。现在我想更新这个名字。我需要重新更新整个文件吗?只是为了名称?@dev当你刚刚更新元数据时,为什么还要更新其他内容?@Philipp my bad…我很困惑。我再次检查了java驱动程序。我可以轻松地更新元数据。谢谢你的帮助……)