【问题标题】:How to load multiple js files to database using mongo shell?如何使用 mongo shell 将多个 js 文件加载到数据库?
【发布时间】:2020-09-22 00:21:24
【问题描述】:

我有几个带有collections 创作和种子的js 文件。我从其中一个加载数据,例如,

mongo <host>:<port>/<database> -u <user> -p <password> < db.users.js

但是,现在我有几个文件,我希望我可以使用一个命令将它们全部加载到mongo。希望有mongo shell。

有什么办法可以吗?

【问题讨论】:

  • 你可以将所有的js文件合并为一个js文件。
  • mongo shell 内:可以创建一个js文件名数组。然后使用load()循环运行js脚本,例如for (let file of jsfiles) load(file)
  • 在命令行中可以指定多个文件,例如:mongo localhost/test script1.js script2.js
  • @mhery 你能把 db.users.js 的内容贴出来吗?
  • @user2243747,这个文件可以有任何 mongo db 方法。在我的项目中,这个文件现在只有db.createCollection('users')

标签: javascript mongodb mongo-shell


【解决方案1】:

有不同的方式来加载(运行)这些文件。比如我有两个js文件script1.jsscript2.js

操作系统命令行指定所有文件:

mongo localhost/testdb script1.js script2.js

或者,创建一个 js 文件并包含所有脚本。例如,使用以下内容创建 script_combined.js

load("script1.js")
load("script2.js")

运行方式:

mongo localhost/testdb script_combined.js

mongo shell 中运行多个脚本的替代方法:

> const script_files = [ "script1.js", "script2.js" ]
> for (let file of script_files) {
      load(file)
  }

【讨论】:

    猜你喜欢
    • 2015-08-22
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 2016-03-13
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多