您必须使用getSiblingDB
才能在另一个 db 上运行命令--eval
。以下 npm 脚本对我有用:
{
"name": "docker-npm-mongo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"docker-start": "docker start some-mongo || docker run --name some-mongo -d mongo:latest",
"docker-create-db": "docker exec some-mongo mongo --eval db.getSiblingDB('mydb').user.insert({'name':'test'})",
"docker-drop-db": "docker exec some-mongo mongo --eval db.getSiblingDB('mydb').dropDatabase();"
},
"author": "",
"license": "ISC"
}
使用这些 npm 命令来创建数据库
npm run docker-start
npm run docker-create-db
然后,您可以通过执行以下操作来检查您的数据库何时存在
docker exec -ti some-mongo mongo
> show dbs
完成后,您可以通过执行删除 db
npm run docker-drop-db
您必须使用此命令手动删除 docker 容器。作为替代方案,这也可以作为单独命令作为 npm 脚本的一部分。
docker rm -f some-mongo
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句