使用mongimport导入JSON文件时,一直出现“意外标识符”错误?

29

我正在尝试使用终端上的mongoimports将JSON文件添加到mongodb中,如下:

我想利用终端上的mongoimports将一个 JSON 文件导入 MongoDB 数据库中,具体操作如下:

 mongoimport --db my_db --collection my_collection --file /content/2_read.json

我一直收到以下错误:JavaScript execution failed: SyntaxError: Unexpected identifier 我通过 JSON Lint(http://jsonlint.com/)运行我的JSON文件,该工具显示这是有效的JSON。

我不确定导入过程中可能会有什么问题?还是如何进一步调查并找出问题所在?

更新:

  1. 有人建议将所有内容放在一行上。是个很好的建议,但我尝试了并没有起作用。
  2. 我尝试导入一个非常简单的名为simple.json的JSON文件,其内容为{'content' : 'simple'},但使用mongoimport仍然出现相同的错误。(但我可以从mongo shell添加文档。)

以下是JSON文件的示例:

2_read.json

{
  "name" : "John",
  "tasks" : [
      {
       "ix" : "1",
       "description" : "description of task",
       "tags": []
      }, 
     {
      "ix": "2",
      "description" : "description of task",
      "tags" : []
     }
       ]
}

谢谢。


2
可能是重复的问题,参见mongoimport过程中的错误 - WiredPrairie
1
可能吗?但是那个人遇到了一个特定的错误,而我遇到的错误是通用的(并且不太有帮助)。我也尝试添加了--jsonArray,但是没有改变任何东西。;( - cathy.sasaki
我犯了一个彻头彻尾的新手错误。我认为你应该从mongo shell提示符而不是主终端提示符中使用mongoimports。之后,我遇到了需要--jsonArray(并且像你指向的帖子中那样获得特定错误)的错误。感谢您的强调。 - cathy.sasaki
2个回答

126

回答自己的问题,因为完全的新手会欣赏这个错误,并且在他们刚开始时可能会遇到它。

mongoimport 是从终端使用的,而不是在 mongo shell 中使用。就像你不会在 node 内部使用 npm 一样。;D

在弄清楚我的概念性错误后,我需要使用 --jsonArray,正如 @WiredPrairie 在评论中指出的那样。


8
我也犯了同样的错误。谢谢分享。这节省了我的时间。 - Anvesh Checka
8
刚刚犯了同样的错误,感谢您回答这个问题。 - aczietlow
请检查文档中的错误文本。我从网上复制了JSON文档,当我复制页面内容时,浏览器报错了。希望这可以帮到您。JSLint也很有帮助! - zero_cool
那么在Mongo shell中,你使用什么呢? - conor909

0

以下终端命令对我很有效:

mongoimport -d my_db -c my_collection < /content/2_read.json --batchSize 1

嗨。我在使用以下命令mongoimport时遇到了错误:未识别选项“--batchSize”--db ciudadDeBuenosAires --collection vehiculos-peajes < "/home/dantebarba/Descargas/ausapasovehiculo-2015.json" --batchSize 1 - dantebarba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接