在什么情况下可以使用 mongoexport?

论坛.test17

文档中,它说要避免 BSON 数据类型上的 mongoexport

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

创建了一个名为“testCollection”的集合

 > db.testCollection.insert({title: 'MongoDB Overview',
... description: 'MongoDB is magical database',
...    by: 'by newbie',
...    url: 'http://www.mongodb_cannot_understand_mongoexport.com',
...    tags: ['mongodb', 'database', 'NoSQL'],
...    likes: 100});

> db.testCollection.find().pretty();
{
    "_id" : ObjectId("59524e6412d3ef3c879c267a"),
    "title" : "MongoDB Overview",
    "description" : "MongoDB is magical database",
    "by" : "by newbie",
    "url" : "http://www.mongodb_cannot_understand_mongoexport.com",
    "tags" : [
        "mongodb",
        "database",
        "NoSQL"
    ],
    "likes" : 100
}

执行以下命令将类型作为对象和字符串,

typeof db.testCollection.findOne()._id; 输出:对象

typeof db.testCollection.findOne().title; 输出:字符串

如果在上述集合上运行 mongoexport 可能会或可能不会保证数据的保存,因为它包含数据类型字符串和对象。(我怀疑任何文件都不会有字符串、objectID 数据类型)

在这种情况下,根本不应该从这里的 bson 类型链接描述列表中使用 mongoexport

我的问题是

在什么情况下 mongoexport 可以与示例集合一起使用?

注意:我想使用 mongoexport,mongodump 不是一个选项

塞尔吉奥·图伦采夫

文档中的那一段意味着,使用 mongoexport/mongoimport,不能保证恢复的数据库中的数据与原始源中的数据完全匹配。这是因为 JSON 本身并不支持许多 BSON 数据类型,例如 Date、MinKey、ObjectId 等。因此 mongoexport 必须做一些变通方法来至少导出这些类型的某些内容这是它导出 ObjectId 字段的方式,例如:

"_id": {"$oid": "531701fdb9e3b40002000002"}

可靠地备份/恢复您的数据,请使用 mongodump/mongorestore。

在什么情况下 mongoexport 可以与示例集合一起使用?

当您想获得一些人类可读的数据快照时。JSON 在大多数语言中也得到很好的支持,因此您可以使用 mongoexport 转储数据,以便使用 python 的科学库或类似的东西进行处理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MongoExport使用查询

在什么情况下可以使用rundll32来调用DLL中的函数?

什么情况下可以正确使用CSS粗体?

如何在查询脚本文件中使用mongoexport

如何使用一个字段进行mongoexport

如何在Java程序中使用MongoExport命令?

在什么情况下可以省略SVG path的命令?

在什么情况下可以决定平等?

gluPerspective在什么情况下可以看到顶点?

在什么情况下,您可以在DynamoDB上使用简单哈希键?

在什么情况下使用异常处理是可行的?

什么情况下将使用nextLine()创建nosuchelementexception?

在什么情况下我必须使用std :: function?

如何使用新ID来mongoexport和mongoimport集合,但保持关系

MongoDB-由于身份验证失败,无法使用mongoexport导出数据

在什么情况下,CopyOnWriteArrayList是合适的?

在什么情况下删除指针

mongoexport regex未知选项

Mongoexport -q ISODate查询

mongoexport排除文件

找不到命令:mongoexport

为什么在没有显式或隐式定义的情况下可以使用“ >> =”?

为什么在不包含STL的情况下可以使用nullptr?

在什么情况下焦点位置可以与插入符号位置不同?

在什么情况下JSON编码的数组可以变成字符串?

Linux Kernel在什么情况下可以杀死进程泄漏的内存?

内核线程在什么情况下可以在Linux中运行?

在什么情况下,空的同步块可以实现正确的线程语义?

可以更新/插入/删除视图吗?如果是,在什么情况下?