从bash提示符中最简单的方法是什么?
最好的方法是从mongodb控制台执行:
> use mydb;
> db.dropDatabase();
或者,您可以停止mongod并从数据目录中删除数据文件,然后重新启动。
提示:您还可以将数据文件移动到子文件夹中,如果您确定不再需要它们,可以删除它们。
是这样的:
mongo <dbname> --eval "db.dropDatabase()"
关于从命令行编写shell脚本的更多信息,请访问:https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#scripting
你也可以使用"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。
我发现这很容易记住:
mongo //to start the mongodb shell
show dbs //to list existing databases
use <dbname> //the <dbname> is the database you'd like to drop
db //should show <dbname> just to be sure I'm working with the right database
db.dropDatabase() //will delete the database & return { "dropped" : "<dbname>", "ok" : 1 }
在终端执行:
mongo // To go to shell
show databases // To show all existing databases.
use <DATA_BASE> // To switch to the wanted database.
db.dropDatabase() // To remove the current database.
下面是一些使用mongodb完全删除操作的mongo shell
删除集合中的特定文档。删除({name:"stack"})
删除集合中的所有文档:db.mycollection.remove()
删除集合:db.mycollection.drop()
删除数据库。 首先使用mydb命令进入该数据库,然后
db.dropDatabase()
mydb——eval "db.dropDatabase() "
你不需要heredocs或eval, mongo本身就可以充当解释器。
#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();
使文件可执行并运行它。
启动MongoDB
数据库删除命令为:
1. 首先选择要删除的数据库
use < database name >
2. 然后用这个。。
db.dropDatabase()
在命令提示符中,首先使用以下命令连接mongodb:
mongo -h [host-name]:[port:number] -d [dbname] -u [username] -p [password]
您将使用<dbname>访问db。
运行如下命令删除整个数据库:
db.dropDatabase()
使用Javascript,你可以很容易地创建drop_bad.js脚本来删除你的数据库:
创建drop_bad.js:
use bad;
db.dropDatabase();
然后在终端上用mongo shell命令执行脚本:
mongo < drop_bad.js
打开另一个终端窗口,执行以下命令,
mongodb
use mydb
db.dropDatabase()
该操作的输出如下所示
MAC:FOLDER USER$ mongodb
> show databases
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
> use mydb
switched to db mydb
>db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }
>
请注意,mydb仍在使用中,因此此时插入任何输入都将重新初始化数据库。
一行远程删除mongo数据库中的所有集合
注意必须使用——host, (-h为mongo命令的help), -d无选项,password后选择db和command。
mongo --host <mongo_host>:<mongo_port> -u <db_user> -p <db_pass> <your_db> --eval "db.dropDatabase()"
db将显示当前的数据库名称 类型:db.dropDatabase ();
1-使用'use'关键字选择要删除的数据库。
2-然后输入db.dropDatabase();
使用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")
打开终端,输入:
mongo
下面的命令应该显示列出的数据库:
show dbs
/* the <dbname> is the database you'd like to drop */
use <dbname>
/* the below command will delete the database */
db.dropDatabase()
终端输出如下:
{
"dropped": "<dbname>",
"ok": 1
}
很惊讶我们没有看到这种变化。这样可以最小化命令行上的额外参数,并显式地显示DB被切换到FOO,然后被删除:
$ mongo --host "mongodb://machine:port" --eval 'db.getSiblingDB("FOO").dropDatabase();'
为了确保你放弃了正确的数据库使用
mongo <connection properties> --eval "db.getSiblingDB('dbname').dropDatabase()"
在尝试保存到mongodb时,请参阅身份验证失败以了解问题。
您可以先切换到要删除的数据库。然后您可以使用命令dropDatabase()删除相同的。
代码:
>用dbName
>db.dropdataBase()
结果将是:
{ "dropped" : "dbName", "ok" : 1 }
如果要删除数据库中的特定集合,则切换到数据库并输入以下命令。
代码:
>用dbName
db.collection.drop ()
结果将是:
true
如果你想更好地理解MongoDB shell命令,它是 最好始终遵循文档。 文档链接: https://www.mongodb.com/docs/manual/reference/method/#std-label-js-administrative-methods
推荐文章
- MongoDB在v4之前不兼容ACID意味着什么?
- 显示所有集合中的所有内容
- MongoDB:更新一个字段上的每个文档
- 我如何在MongoDB中部分更新一个对象,以便新对象将覆盖/合并现有的一个
- MongoDB的命名约定是什么?
- MongoDB在尝试插入整数时插入浮点数
- 通过将useNewUrlParser设置为true来避免“当前URL字符串解析器已弃用”警告
- 如何查询嵌套对象?
- NoSQL (MongoDB) vs Lucene(或Solr)作为您的数据库
- 如何重命名MongoDB中所有文档的字段?
- 如何复制一个集合从一个数据库到另一个在MongoDB
- 比较mongoose _id和字符串
- MongoDB:如何将多个集合中的数据合并为一个?
- MongoDB - admin用户未授权
- 如何在MongoDB的shell中打印出超过20个项目(文档)?