NPM命令删除mongo数据库,使用“echo”不起作用
我试图创build一个从我的mongo实例中删除数据库的npm
命令。
当我将这行代码直接粘贴到我的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发出命令时,命令行不通?
这对我工作:
"drop-db": "echo db.dropDatabase() | mongo musicappdb"
没有单引号。
它不适用于双引号或单引号。 这是在Windows 10上。
嘿看到这篇文章也许可以帮助:
http://antrikshy.com/blog/run-mongodb-automatically-nodejs-project
只是testing:
'start mongo admin --eval "db.dropDatebase()" '