fed*_*qui 34 collections mongodb
在MongoDB中删除集合的最佳方法是什么?
我使用以下内容:
db.collection.drop()
Run Code Online (Sandbox Code Playgroud)
db.collection.drop()
从数据库中删除集合.该方法还会删除与已删除集合关联的所有索引.该方法提供了drop命令的包装器.
但是如何从命令行中删除它?
fed*_*qui 66
所以这些都是有效的方法:
mongo <dbname> --eval 'db.<collection>.drop()'
db.<collection>.drop()
Run Code Online (Sandbox Code Playgroud)
这是我完全测试它的方式,创建一个mytest带有集合的数据库hello.
创建数据库mytest:
> use mytest
switched to db mytest
Run Code Online (Sandbox Code Playgroud)创建一个集合hello:
> db.createCollection("hello")
{ "ok" : 1 }
Run Code Online (Sandbox Code Playgroud)显示那里的所有收藏:
> db.getCollectionNames()
[ "hello", "system.indexes" ]
Run Code Online (Sandbox Code Playgroud)插入一些虚拟数据:
> db.hello.insert({'a':'b'})
WriteResult({ "nInserted" : 1 })
Run Code Online (Sandbox Code Playgroud)确保插入:
> db.hello.find()
{ "_id" : ObjectId("55849b22317df91febf39fa9"), "a" : "b" }
Run Code Online (Sandbox Code Playgroud)删除集合并确保它不再存在:
> db.hello.drop()
true
> db.getCollectionNames()
[ "system.indexes" ]
Run Code Online (Sandbox Code Playgroud)这也有效(我不重复以前的命令,因为它只是重新创建数据库和集合):
$ mongo mytest --eval 'db.hello.drop()'
MongoDB shell version: 2.6.10
connecting to: mytest
true
$
Run Code Online (Sandbox Code Playgroud)
mar*_*nho 11
删除users数据库集合mydb:
> use mydb
> db.users.drop()
Run Code Online (Sandbox Code Playgroud)