MongoDB基础的操作
创建数据库
use dbname#从这里开始下文中所有的dbname都是自己新建的数据库的名称
如果存在dbname,则会自动选择dbname数据库,如果不存在则会创建dbname数据库。
创建完毕数据库之后可以通过
db #查看当前选择的数据库
show dbs #查看所有的数据库
如果数据库中没有数据那么show dbs无法显示新创建的数据库名称。
删除数据库
db.dropDatabase()
创建集合
db.creatCollection("ccname") #ccname同dbname一样为自己剪的集合
db.creatCollection("ccname",{capped:true,autoIndexID:true,size:10000,max:10000})
字段 类型 描述
capped 布尔 固定集合的大小,如果值为true时必须也指定size
autoindexid 布尔 如果为true,自动创建_id字段索引
size 数值 设置集合的大小
max 数值 指定固定集合中包含文档的最大数量
其实在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。
删除集合
db.ccname.drop()
文档的增删改查
增
db.ccname.insert({‘name’:‘小王’,‘age’:18})
或者你可以定义一个变量
abc = ({'name':'小王','age':18})
db.ccname.insert(abc)
删
db.collection.remove(
<query>, #删除的文档的条件。
{
justOne: <boolean>, #如果设为 true 或 1,则只删除一个文档。
writeConcern: <document> #抛出异常的级别。
}
)
db.ccname.remove({'name':'小王'})#删除所有name=小王的文档
db.ccname.remove({'name':'小王'},{justOne:1})#删除一条name=小王的文档
改
db.collection.update(
<query>, #相当于sql语句的where
<update>, #相当于sql语句的set
{
upsert: <boolean>, #可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi: <boolean>, #可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern: <document> #可选,抛出异常的级别。
}
)
修改name=小王的文档,修改为age=20,sex=男
db.ccname.update({'name':'小王'},{$set:{'age':20,'sex':'男'})
以上方法只会修改第一条符合条件的文档,如果想修改多条可以如下
db.ccname.update({'name':'小王'},{$set:{'age':20,'sex':'男'},{multi:true})
查
查询集合中所有文档
db.student.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);