【问题标题】:Error importing BSON document, MongoDB导入 BSON 文档时出错,MongoDB
【发布时间】:2016-01-25 04:12:48
【问题描述】:

我正在尝试将示例 BSON 文件 test.bson 导入 MongoDB。服务器已经在运行,所以我使用

mongoimport --db test --collection foo --drop --file test.bson

但是,我收到以下错误:

2016-01-24T13:51:06.126-0500    connected to: localhost
2016-01-24T13:51:06.144-0500    Failed: error processing document #1: invalid character 'è' looking for beginning of value
2016-01-24T13:51:06.144-0500    imported 0 documents

(1) 如何解决这个错误,invalid character 'è' looking for beginning of value?访问test.bson中的数据到底应该怎么做?

(2) 有没有其他方法可以使用MongoDB导入数据?如果我在 shell 中并输入

$mongo

如何导入 json/bson 文件?

(BSON 是带有附加类型信息的 JSON 的二进制表示。)

【问题讨论】:

    标签: javascript json mongodb bson


    【解决方案1】:

    我认为您需要 mongorestore 而不是 mongoimport。所以试试

    mongorestore --db test --collection foo --drop test.bson
    

    来自文档:

    警告:

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

    mongoimport 和 mongoexport 用于数据的类似 json 的表示形式(尽管它也适用于 CSV 和 TSV)。 mongorestore 和 mongoexport 用于 bson。

    【讨论】:

    • 这应该是正确的。文件--file 也未使用。当我尝试这个时,我之后找不到数据。 $mongo 然后db.test.foo.find().pretty() 什么也不输出。这是为什么呢?
    • 当你使用mongorestore命令时,你是否得到和上面一样的错误信息?如果是这样,您的 test.bson 文件可能以某种方式损坏(例如,如果您不使用 mongoexport 创建它,则可能会发生这种情况)。要尝试的另一件事是将测试数据转换为 JSON 和 mongoimport。如果带有一些测试 JSON 数据的 mongoimport不起作用,则您的数据库可能已损坏。
    • 实际上,我发现了我的错误。该命令应为db.foo.find().pretty(),因为db 指的是test。谢谢!
    • 你拯救了我的一天
    猜你喜欢
    • 1970-01-01
    • 2015-09-27
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多