首页 > 解决方案 > 如何在 mongo shell 脚本中导入 Javascript 对象

问题描述

我有一个名为的 shell 脚本文件run.sh

CONNECTION_STRING="mongodb://localhost:27017/"
mongo --nodb --eval "var connectionString=\"$CONNECTION_STRING\"; `cat mongo-initialize.js`"

我正在将一个 js 片段传递给 mongo shell。这是我的mongo-initialize.js

conn = new Mongo(connectionString);
db = conn.getDB("dbName");
db.createCollection("collection");
db["collection"].insertMany(data);

我用来插入到集合中的数据将是一个 js 对象,我打算在这里使用它,我也需要它作为 API。所以我创建了一个mock.js包含该对象的 js 文件并将其导出。问题是我找不到合适的命令来导入我的mongo-initialize.js.

MongoDB 文档建议的唯一命令load('someFile.js')是在我的情况下不起作用。根据 MongoDB 文档,它执行 js 文件,如果我尝试以这种方式加载它,它会引发错误。

此函数加载并执行 myjstest.js

有没有办法将 js 对象导入我的脚本文件?

标签: javascriptmongodbmongo-shell

解决方案


推荐阅读