"-6ren"> "-Windows XP 机器上的 32 位 mongo 2.0.1 //script filename: test.js (one line shell script file to store a -6ren">
gpt4 book ai didi

shell - mongo shell 脚本不允许我包含 "use "

转载 作者:IT老高 更新时间:2023-10-28 13:03:34 26 4
gpt4 key购买 nike

Windows XP 机器上的 32 位 mongo 2.0.1

//script filename: test.js  (one line shell script file to store a person)
db.cTest.save({Name: "Fred", Age:21});

通过输入以下 2 个 shell 命令对数据库 dbTest 运行:

    > use dbTest
switched to dbTest
> load("test.js")

到目前为止,一切都很好。

但如果我尝试在脚本中包含“use”语句,它会失败:

//script filename: test.js  (including "use" statement)
use dbTest;
db.cTest.save({Name: "Fred", Age:21});

失败,错误信息如下:

    > load("test.js")
SyntaxError: missing ; before statement
Mon Dec 19 11:56:31: Error: error loading js file temp.js (shell):1

在 test.js 中添加或删除分号似乎并不重要。

那么如何将“use”指令放入 mongo shell 脚本中呢?

最佳答案

在 mongo 脚本中,您可以使用 db.getSiblingDB('new_db_name') 来获取新数据库的引用。因此,在命令行中给出数据库名称不是强制性的。您可以使用 script.js:

db = db.getSiblingDB('new_db_name');
print(db);

// the rest of your code for database "new_db_name"

这个脚本的输出是(用 mongo script.js 调用):

MongoDB shell version: 2.2.2
connecting to: test
sag

关于shell - mongo shell 脚本不允许我包含 "use <database>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8565376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com