从bash提示符中最简单的方法是什么?
当前回答
很惊讶我们没有看到这种变化。这样可以最小化命令行上的额外参数,并显式地显示DB被切换到FOO,然后被删除:
$ mongo --host "mongodb://machine:port" --eval 'db.getSiblingDB("FOO").dropDatabase();'
其他回答
最好的方法是从mongodb控制台执行:
> use mydb;
> db.dropDatabase();
或者,您可以停止mongod并从数据目录中删除数据文件,然后重新启动。
提示:您还可以将数据文件移动到子文件夹中,如果您确定不再需要它们,可以删除它们。
尽管有几种方法,但最好的(最有效和最简单的)方法是使用db.dropDatabase()
使用Javascript,你可以很容易地创建drop_bad.js脚本来删除你的数据库:
创建drop_bad.js:
use bad;
db.dropDatabase();
然后在终端上用mongo shell命令执行脚本:
mongo < drop_bad.js
你也可以使用"heredoc":
mongo localhost/db <<EOF
db.dropDatabase()
EOF
输出结果如下:
mongo localhost/db <<EOF
db.dropDatabase()
EOF
MongoDB shell version: 2.2.2
connecting to: localhost/db
{ "dropped" : "db", "ok" : 1 }
bye
如果你想要更复杂的命令序列,我喜欢使用heredocs。
使用python删除MongoDB数据库:
import argparse
import pymongo
if __name__ == "__main__":
"""
Drop a Database.
"""
parser = argparse.ArgumentParser()
parser.add_argument("--host", default='mongodb://localhost:27017',
help="mongodb URI [default: %(default)s]")
parser.add_argument("--database", default=None,
help="database name: %(default)s]")
args = parser.parse_args()
client = pymongo.MongoClient(host=args.host)
if args.database in client.list_database_names():
client.drop_database(args.database)
print(f"Dropped: '{args.database}'")
else:
print(f"Database '{args.database}' does not exist")
推荐文章
- 如何排序mongodb与pymongo
- 如何在mongodb上导入。bson文件格式
- JSON文件的蒙古导入
- 如何删除mongodb中的数组元素?
- 修改MongoDB数据存储目录
- 在MongoDB中查找重复的记录
- 为什么MongoDB Java驱动在条件中使用随机数生成器?
- 在猫鼬,我如何排序的日期?(node . js)
- 将映像存储在MongoDB数据库中
- 重复Mongo ObjectId的可能性在两个不同的集合中生成?
- Redis比mongoDB快多少?
- 无法连接到服务器127.0.0.1:27017
- 如何创建数据库的MongoDB转储?
- 如何将MongoDB作为Windows服务运行?
- 如何监听MongoDB集合的变化?