mongoimport/mongoexport不保留哪些MongoDB类型?

mongoimport/mongoexport不保留哪些MongoDB类型?,mongodb,types,mongoimport,mongoexport,Mongodb,Types,Mongoimport,Mongoexport,政府有一个可怕的警告 避免将mongoimport和mongoexport用于完整实例生产备份。它们不能可靠地保留所有富数据类型,因为它们只能表示BSON支持的类型的子集。使用mongodump和mongorestore,如MongoDB备份方法中所述,实现此类功能 这一页接着说 为了保留类型信息,mongoexport和mongoimport对某些类型使用 尽管有“严格的模式表示法”,mongoexport仍然不能正确表示的具体模式是什么? 因为mongorestore有一个非常恼人的限制:它

政府有一个可怕的警告

避免将mongoimport和mongoexport用于完整实例生产备份。它们不能可靠地保留所有富数据类型,因为它们只能表示BSON支持的类型的子集。使用mongodump和mongorestore,如MongoDB备份方法中所述,实现此类功能

这一页接着说

为了保留类型信息,mongoexport和mongoimport对某些类型使用

尽管有“严格的模式表示法”,mongoexport仍然不能正确表示的具体模式是什么?


因为
mongorestore
有一个非常恼人的限制:它使它无法用于同步只有少数文档得到更新的集合。您必须删除整个集合,然后才能从头开始恢复它,这对于大型集合来说可能非常耗时,尤其是在需要重新创建文本索引的情况下。

结果表明,针对mongoimport/export的警告已经过时。使用mongodump/restore提高速度仍然是一个好主意,但是mongoexport使用格式保留类型信息。例如,日期字段不再自动转换为文本,而是转换为:

{ "$date": "<date>" }
{“$date”:“}
其中,
是日期的ISO-8601
YYYY-MM-DDTHH:MM:ss.mmm
表示。正则表达式被转换为

{ "$regex": "<sRegex>", "$options": "<sOptions>" }
{“$regex”:“$options”:”}
这些文档字段的文本表示由mongoimport解析,恢复原始类型。有关更多信息,请参阅


.

结果表明,针对mongoimport/export的警告已过时。使用mongodump/restore提高速度仍然是一个好主意,但是mongoexport使用格式保留类型信息。例如,日期字段不再自动转换为文本,而是转换为:

{ "$date": "<date>" }
{“$date”:“}
其中,
是日期的ISO-8601
YYYY-MM-DDTHH:MM:ss.mmm
表示。正则表达式被转换为

{ "$regex": "<sRegex>", "$options": "<sOptions>" }
{“$regex”:“$options”:”}
这些文档字段的文本表示由mongoimport解析,恢复原始类型。有关更多信息,请参阅

这个