Mongodb 通过shell脚本执行mongo命令时出现问题

Mongodb 通过shell脚本执行mongo命令时出现问题,mongodb,Mongodb,根据Matt对问题的回答: 我试过下面的脚本 use sample db.testCollection.insert({"result":1}) 但是,当我按照建议运行时,会出现如下错误,记录会被插入到默认数据库的集合中,而不是预期的“sample”数据库中 [tmp]# mongo < output.js connecting to: mongodb://127.0.0.1:27017 2018-03-21T14:54:52.713+0530 E QUERY [thread1]

根据Matt对问题的回答:

我试过下面的脚本

use sample

db.testCollection.insert({"result":1})
但是,当我按照建议运行时,会出现如下错误,记录会被插入到默认数据库的集合中,而不是预期的“sample”数据库中

[tmp]# mongo < output.js
connecting to: mongodb://127.0.0.1:27017
2018-03-21T14:54:52.713+0530 E QUERY    [thread1] SyntaxError: unterminated string literal @(shellhelp2):1:21
WriteResult({ "nInserted" : 1 })
bye
[tmp]#mongo

请寻求帮助。

您需要指定数据库名称,如下所示

mongo your-db-name < output.js
mongo您的数据库名
您需要指定db名称,如下所示

mongo your-db-name < output.js
mongo您的数据库名
您的脚本和命令是正确的。
在Unix上,如果脚本使用Dos/Windows行结束(CRLF)而不是Unix行结束(LF),则会出现此错误

要转换行尾,请执行以下操作:

dos2unix output.js

或者:

您的脚本和命令是正确的。
在Unix上,如果脚本使用Dos/Windows行结束(CRLF)而不是Unix行结束(LF),则会出现此错误

要转换行尾,请执行以下操作:

dos2unix output.js

或者:

尝试使用
db.testCollection.insert({“result”:1})
这不起作用,给出了不同的错误尝试此db.getCollection(testCollection.insert({“result”:1})尝试使用
db.testCollection.insert({“result”:1})
这不起作用,给出了不同的错误尝试此db.getCollection(testCollection.insert({“result”:1})