版权声明:如需转载,请写明出处 https://blog.csdn.net/weixin_43113679/article/details/91355749
创建数据库
MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。
MongoDB 创建数据库的语法格式如下:
use 新是数据库的名字
1、如果数据库不存在,则创建数据库(只是虚拟的,如果不往里面加集合或者文档,那么此数据库就不会被创建),
2、如果数据库存在,就切换到指定数据库,然后进行操作
> show dbs //查询所有的数据库
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
user 0.000GB
> use first //切换到first数据库,虽然没有此数据库但是生成了一个虚拟的,
// 如果你有实际的操作就会生成此数据库的实例
switched to db first
> db //切换成功了
first
> show dbs //这时候first数据库还不存在
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
user 0.000GB
往当前没创建的数据库,集合肯定也没有,插入
> db.user.insert({"name":"网易"}) //当前数据库的user集合插入此文档
WriteResult({ "nInserted" : 1 }) //插入成功1
> show dbs //再次查询所有的数据库
admin 0.000GB
config 0.000GB
first 0.000GB
local 0.000GB
test 0.000GB
user 0.000GB
这样新数据库新集合(包括里面的文档)就创建成功了
过程:
- 没有此数据库,创建
- 没有此集合,创建
- 插入指定文档
注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
为什么是注意而不是警告呢?
因为即使你用db.user.insert({}) 这个命令创建,它也会自动在user集合添加一个ObjectId
> db.user.find() //查看指定集合里的文档
{ "_id" : ObjectId("5cfd22d6357172945a6acd8b") }
所以创建数据库时里面必须要创建一个文档
下面的就和上面的不一样了
当用创建集合标准形式 createCollection() 时,就可以创建新的数据库,创建新的集合不用往集合里添加文档,可以是空集合
> use three
switched to db three
> db.createCollection("uu") //在当前数据库下创建uu集合(因为当前数据库不存在,所以就直接创建数据库)
{ "ok" : 1 }
> show dbs
admin 0.000GB
config 0.000GB
first 0.000GB
local 0.000GB
second 0.000GB
test 0.000GB
three 0.000GB
user 0.000GB
> show tables //查看当前数据库的集合
uu
> db.uu.find() //查询集合uu里的文档
> //空的
删除数据库
MongoDB 创建数据库的语法格式如下:
db.dropDatabase() //删除当前数据库
准备工作,看看是否有这个数据库
> show dbs
admin 0.000GB
config 0.000GB
first 0.000GB
local 0.000GB
test 0.000GB
user 0.000GB
> db //如果不在删除的数据库,那就需要use 切换到要删除的数据库
first
执行删除命令
> db.dropDatabase() //删除当前数据库
{ "dropped" : "first", "ok" : 1 }
> db //查看当前链接的是哪个数据库,虽然删除了,但是db还是first,跟添加数据库但没有插入文档一样
first
> show dbs //没有first数据库了
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
user 0.000GB
那如果删除数据库里所有的集合那数据库会被删除吗?
添加数据库,集合和文档
> db.first.insert({"name":"ooo"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin 0.000GB
config 0.000GB
first 0.000GB
local 0.000GB
test 0.000GB
user 0.000GB
删除指定集合里的所有文档(后面的博客会有)
db.first.remove({}) //删除此数据库的first集合的所有文档
查看
> db.first.find() //查看当前数据库的first集合里的所有文档,因为删除了,所以没有
> show dbs
admin 0.000GB
config 0.000GB
first 0.000GB //但是这个数据库还存在
local 0.000GB
test 0.000GB
user 0.000GB
所明删除数据库必须用删除数据库的命令格式,删除全部的集合,数据库不会被删除
我又用可视化工具查看,自己删除的集合虽然为空,但是集合没有被删除,还存在,这就和创建有很大的区别
这些只是目前浅层的运用方法,一切还是以官网为主,
MongoDB官网中对数据库的全部操作方法