MongoDB基础的操作
创建数据库
use dbname
从这里开始下文中所有的dbname都是自己新建的数据库的名称
如果存在dbname,则会自动选择dbname数据库,如果不存在则会创建dbname数据库。
db #查看当前选择的数据库
show dbs #查看你所有的数据库
如果在数据库中没有数据那么show dbs无法显示新创建的数据库名称。
删除数据库
db.dropDatebase()
创建集合
db.creatCollection("ccname")
/ccname同dbname一样为自己剪的集合
db.creatCollection("ccname"),{capped:true,autoIndexID:true,size:10000,max:10000}
capped,autoindexid,size,max
capped布尔类型,和autoindexid一样,最后两个则是数值类型,单看这个英文单词也会知道它是什么类型,一个是大小,一个是最大值这样一个翻译。这些都很好区别。
capped:固定集合的大小,如果值为true时必须也指定size
audoindexid:如果为true,自动创建_id索引
size:设置集合的大小
max:指定固定集合中包含文档的最大数量
其实在MongoDB中,你不需要创建集合,当你插入一些文档时,MongoDB也会自动创建集合。
删除集合
db.ccname.drop()
文档的增删改查
1.增
db.ccname.insert('name':'李华','age':18)
或者你可以定义一个变量
abc = ({'name':'李华','age':18})
db.ccname.insert(abc)
2.删
db.collection.remove(
<query>, #删除的文档的条件
{
justOne:<boolean>,如果设为true或1,则只删除一个文档
writeConcern:<document>抛出异常的级别
}
)
db.ccname.remove({'name':'李华'})删除所有name=李华的文档
db.ccname.move({'name':"李华"},{justOne:1})
删除一条name=李华的文档
3.改
db.collection.update(
<query> 相当于sql语句中的where
<update>相当于sql语句中的set
{
upsert:<boolean>,可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi:<boolean>可选,mongodb默认是false,只更新找到的第一条记录,如果这个参数为True就把条件查出来多条记录全部更新。
writeConcern:<document>可选,抛出异常的级别
}
)
4.查
查询集合中所有文档
db.ccname.find()
按照条件查询+and条件
db.ccname.find({"name":"李华","age":20}).pretty()相当于select * from ccname where name="李华" and age=20;
其中pretty可以时输出的数据更容易查看
查询中的or条件
db.ccname.find({$or:[{"name":"李华"},{"age":15}]})
相当于select * from ccname where name="李华" or age=15;
and和or连用:
db.ccname.find({"name":"李华",$or:["age"=20,"age"=15]})相当于select * from ccname where name="李华" and (age=20 or age=15);