首页 > 解决方案 > 使用批处理脚本的 Mongo 命令

问题描述

我正在尝试执行一个批处理脚本来创建一个集合并将数据插入其中。它正在打开 Mongo.exe,但没有执行命令。

我尝试了以下方法。

cd  C:\Program Files\MongoDB\Server\3.2\bin
mongo.exe
mongo.exe --eval "use MyDatabase"
mongo.exe --eval  "db.TestCollection.insert({_id: 'T1' , seq : 1})"
mongo.exe --eval  "db.TestCollection.insert({_id: 'T2' , seq : 2})"
pause

上面的脚本会打开 Mongo.exe,除此之外什么也不做。我需要帮助,因为我想在一个与 mongodb 的连接中运行每个命令。所以我尝试了:

mongo.exe mydb D:\Delta\scriptfile.js

我的 scriptfile.js 包含:

print(db)
db.TestCollection.insert({_id: 'T1' , seq : 1})
db.TestCollection.insert({_id: 'T2' , seq : 2})
print(show collections)
print(db)

但在此之后,它显示文件 D:\Delta\a.js 的路径未找到。

标签: mongodbbatch-filemongodb-query

解决方案


修改您的代码并尝试:

cd  /D C:\Program Files\MongoDB\Server\3.2\bin
mongo.exe mydb < D:\Delta\scriptfile.js

与您的 scriptfile.js 相同:

print(db)
db.TestCollection.insert({_id: 'T1' , seq : 1})
db.TestCollection.insert({_id: 'T2' , seq : 2})
print(show collections)
print(db)

推荐阅读