作为数据库命令,最最重要也是最最频繁的当然就是curd操作啦,不过在curd之前,让我们从一些curd之外的命令开始学习~
非curd操作
就像mysql的show database,desc等等命令一样,除了curd,mongodb也有一些其他的基础指令。好啦,如果你跟我一样也是按照上一讲博客在centos中安装好了mongodb的话,现在我们在命令行中直接敲mongo
就可以进入mongo的shell界面了。
对于数据库层次的基础操作(简单,因为不带参数)
show dbs #查看当前的数据库情况(数据库名+已占用容量)
show databases #效果和上面一样
db #显示当前所在的数据库
use test #这里的test是自定义的数据库名,表示切换到某一个指定的数据库(但是需要库里面真实存在集合才能被show dbs查询到)。如果没有mongodb会自动帮你创建一个
db.dropDatabase() #删除当前的数据库
对于集合层次的基础操作(稍复杂,带一些简单的参数)
db.createCollection(name,option)
–创建集合 name表示集合的名字,option表示出创建集合的时候的一些参数(可以不写,也可以一次性填多个)
字段 | 类型 | 解释 |
---|---|---|
capped | 布尔 | (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。 |
autoIndexID | 布尔 | (可选)如为 true,自动在 _id 字段创建索引。默认为 false。 |
size | 数值 | (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。 |
max | 数值 | 可选)指定固定集合中包含文档的最大数量。 |
option的填写也是使用json的写法,比如你要创造一个固定大小的集合:
db.createCollection(“mycollection”,{capped:true,size:100})
show collections
–查看当前数据库的所有集合
db.collectionName.drop()
–删除某一个集合
注意:
mongodb中其实不需要显示的一步一步从创建数据库,创建集合,创建文档这样子。存在这样一种机制——当你在新增一个文档的时候,如果mongo中没有你指定的库或者集合,它会自动帮你创建相应的库和集合。所以除了你要在创建集合时指定一些参数(比如要创建固定大小的集合),你都可以利用mongodb的这一个优势提高工作效率。
下一篇就是正式的curd啦~