MongoDB基础的操作

sql与mongodb的区别

SQL术语 MongoDB 解释
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
创建数据库
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.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);