我有我的json_文件.像这样:

[
{
    "project": "project_1",
    "coord1": 2,
    "coord2": 10,
    "status": "yes",
    "priority": 7
},
{
    "project": "project_2",
    "coord1": 2,
    "coord2": 10,
    "status": "yes",
    "priority": 7
},
{
    "project": "project_3",
    "coord1": 2,
    "coord2": 10,
    "status": "yes",
    "priority": 7
}
]

当我运行以下命令将其导入mongodb时:

mongoimport --db my_db --collection my_collection --file json_file.json 

我得到以下错误:

Failed: error unmarshaling bytes on document #0: JSON decoder out of sync - data changing underfoot?

如果我将--jsonArray标志添加到我导入的命令中,如下所示:

imported 3 documents

而不是原始文件中显示的json格式的文档.

如何将json以上面显示的文件中的原始格式导入mongodb?

推荐答案

也许以下来自MongoDB项目博客的参考资料可以帮助您了解数组在Mongo中的工作方式:

https://blog.mlab.com/2013/04/thinking-about-arrays-in-mongodb/

否则我会把你的观点框起来,或者:

a) 如您所说,使用--jsonArray标志将三个不同的对象分别导入到集合中;或

b) 将整个数组封装在单个对象中,例如:

{
"mydata": 
    [
    {
          "project": "project_1",
          ...
          "priority": 7
    }
    ]
}

嗯.

Mongodb相关问答推荐

MongoDB 4.4如何使用未知密钥更新dict

在Mongoose中对嵌套文档设置时间戳,但不对父文档设置时间戳

在MondoDB中:将对象数组从切片索引数组切片,并通过聚合推入数组

从MongoDB迁移到PostgreSQL:为PostgreSQL编写聚合管道查询

如何对 MongoDB setWindowFields 中当前文档以外的文档进行操作

按数组mongodb中的第一个元素排序

Spring Boot 升级后未映射 Mongo 模板结果

如何判断 MongoDB 的两个数组中是否存在值?

DB 中的引用对象在 GraphQL 查询中返回 null

如何将记录从一个 mongo 数据库插入另一个?

在一个变量上运行的 Node JS 中使用正则表达式的 Mongo 查询

更新 mongoengine 中的嵌入文档列表

Mongoose $push 不断添加两个条目

如何在 $lookup Mongodb 的 LocalField 中将字符串转换为 objectId

Mongodb KeyFile 太开放权限

Mongodb $lookup 使用 _id 无效果

通过浏览器连接mongodb?

MongoDb:聚合 $lookup 过滤外部文档

何时使用Singleton单例、Transient和使用 Ninject 和 MongoDB 的请求

MongoDB 引用的最佳实践