NPM 命令删除 mongo 数据库,使用 "echo" 无效
NPM command to drop mongo database, using "echo" not working
我正在尝试创建一个 npm
命令来从我的 mongo 实例中删除一个数据库。
当我将这行代码直接粘贴到我的 shell 时,它起作用了,并给出了以下输出:
> echo 'db.dropDatabase()' | mongo musicappdb
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017/musicappdb
MongoDB server version: 3.4.10
{ "ok" : 1 }
bye
但是当我从我的 npm 脚本中 运行 它时,它是这样定义的
scripts: {
...
"drop-db": "echo 'db.dropDatabase()' | mongo musicappdb",
...
},
我明白了
> echo "db.dropDatabase()" | mongo musicappdb
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017/musicappdb
MongoDB server version: 3.4.10
db.dropDatabase()
bye
并且数据库没有被删除。
为什么当我通过 npm 发出命令时,命令无法正常运行?
嘿,看看这篇文章可能会有帮助:
http://antrikshy.com/blog/run-mongodb-automatically-nodejs-project
刚刚测试:
'start mongo admin --eval "db.dropDatebase()" '
这对我有用:
"drop-db": "echo db.dropDatabase() | mongo musicappdb"
没有单引号。
它不适用于双引号或单引号。这是在 Windows 10.
"drop-db": "echo 'db.dropDatabase()' | mongo myDB"
这对我有用
输出为
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/myDB?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("44d9deb8-6de1-49ff-8532-24cf2ae5247b") }
MongoDB server version: 4.0.9
{ "ok" : 1 }
bye
如果有人正在使用 Docker 容器:
docker exec -it mongodb_container sh -c "mongo db_name --eval 'db.dropDatabase()'"
我正在尝试创建一个 npm
命令来从我的 mongo 实例中删除一个数据库。
当我将这行代码直接粘贴到我的 shell 时,它起作用了,并给出了以下输出:
> echo 'db.dropDatabase()' | mongo musicappdb
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017/musicappdb
MongoDB server version: 3.4.10
{ "ok" : 1 }
bye
但是当我从我的 npm 脚本中 运行 它时,它是这样定义的
scripts: {
...
"drop-db": "echo 'db.dropDatabase()' | mongo musicappdb",
...
},
我明白了
> echo "db.dropDatabase()" | mongo musicappdb
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017/musicappdb
MongoDB server version: 3.4.10
db.dropDatabase()
bye
并且数据库没有被删除。
为什么当我通过 npm 发出命令时,命令无法正常运行?
嘿,看看这篇文章可能会有帮助:
http://antrikshy.com/blog/run-mongodb-automatically-nodejs-project
刚刚测试:
'start mongo admin --eval "db.dropDatebase()" '
这对我有用:
"drop-db": "echo db.dropDatabase() | mongo musicappdb"
没有单引号。
它不适用于双引号或单引号。这是在 Windows 10.
"drop-db": "echo 'db.dropDatabase()' | mongo myDB"
这对我有用
输出为
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/myDB?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("44d9deb8-6de1-49ff-8532-24cf2ae5247b") }
MongoDB server version: 4.0.9
{ "ok" : 1 }
bye
如果有人正在使用 Docker 容器:
docker exec -it mongodb_container sh -c "mongo db_name --eval 'db.dropDatabase()'"