MongoDB基础(增、删、改、查)操作
2015-04-06 17:32
288 查看
一、插入
MongoDB的插入 语句是这样的格式:
其中document是文档数据,collection是存放文档数据的集合。如果collection存在,document会添加到collection目录下, 如果collection不存在,数据库会先创建collection,然后再保存document。
例如:把name和age保存到person集合中
上面是单个插入的列子,批量插入很类似,插入多个文档时,insert命令的参数为一个数组,数组元素为BSON格式的文档,多个文档可以放在一个数组内,一次插入多条数据,
例如:db.users.insert([{name:”八豆”,age:1000},{name:”ID农”,age:1}])
但是使用批量插入时也有一些问题需要注意,因为BSON格式的限制,一次插入的数据量不能超过16M,在一个insert命令中插入多条数据时,MongoDB不保证完全成功或完全失败。
想要查看已插入的person文档,可以使用:db.person.find()查看当前库中person集合里的数据。
二、查询
MongoDB中查询检索数据时使用find命令,使用方法如下:
语法:
参数:
criteria – 查询条件,文档类型,可选。
projection– 返回的字段,文档类型,可选,若需返回所有字段,则忽略此参数。
find命令两个可选参数,criteria为查询条件,projection为返回的字段,如果不传入条件数据库会返回该集合的所有文档。
例如:查询出person集合中所有的数据。
想要查看当前数据库中的集合列表,可以使用:show collections。
MongoDB中常见的一些运算符:大于(gt)、大于等于(gt)、大于等于(gte)、小于(lt)、小于等于(lt)、小于等于(lte)、不等于(ne)、包含于(ne)、包含于(in)、不包含于($nin)
三、更新
update命令可以更新指定文档的特定字段值,也可以替换整个文档,如果更新操作会增加文档大小,MongoDB将重新分配空间并重新定位。
语法:
参数:
query:查询条件,文档,和find中的查询条件写法一致。
update:修改内容,文档。
upsert(可选):如果值为true,那么当集合中没有匹配文档时,创建文档。默认false。
multi(可选):如果值为true,那么将更新全部符合条件的文档,否则仅更新一个文档,默认false。
如下示例:将person集合中所有年龄小于30岁的数据,更新其状态为’X’。
注:小于的操作符是lt,大于的操作符是lt ,大于的操作符是gt
save命令可以更新或插入一个新文档,与update命令不同的是,save只能对一个文档进行操作。
语法:
参数:
document:新的文档;
例如:用save命令将文档{name:”Tony”,age:12,gender:”man”}保存到person集合中
四:删除
需要删除文档时使用remove命令,删除文档可以清理掉不需要的数据,释放存储空间,提升检索效率,但是错误的删除会是一场灾难,因此在执行数据删除操作时需要非常的谨慎!
语法:
db.collection.remove(
query,
justOne
)
参数:
query:BSON类型,删除文档的条件。
justOne:布尔类型,true:只删除一个文档,false:默认值,删除所有符合条件的文档。
下面是一个是将users集合中所有status=”X”的文档删除操作,对比一下MongoDB和传统SQL数据库删除的操作,看看有哪些不同之处。
与传统SQL比较 - 删除文档
MongoDB
传统SQL
MongoDB的插入 语句是这样的格式:
db.collection.insert(document)
其中document是文档数据,collection是存放文档数据的集合。如果collection存在,document会添加到collection目录下, 如果collection不存在,数据库会先创建collection,然后再保存document。
例如:把name和age保存到person集合中
db.person.insert({name:"八豆少爷",age:100})
上面是单个插入的列子,批量插入很类似,插入多个文档时,insert命令的参数为一个数组,数组元素为BSON格式的文档,多个文档可以放在一个数组内,一次插入多条数据,
例如:db.users.insert([{name:”八豆”,age:1000},{name:”ID农”,age:1}])
但是使用批量插入时也有一些问题需要注意,因为BSON格式的限制,一次插入的数据量不能超过16M,在一个insert命令中插入多条数据时,MongoDB不保证完全成功或完全失败。
想要查看已插入的person文档,可以使用:db.person.find()查看当前库中person集合里的数据。
二、查询
MongoDB中查询检索数据时使用find命令,使用方法如下:
语法:
db.collection.find(criteria,projection);
参数:
criteria – 查询条件,文档类型,可选。
projection– 返回的字段,文档类型,可选,若需返回所有字段,则忽略此参数。
find命令两个可选参数,criteria为查询条件,projection为返回的字段,如果不传入条件数据库会返回该集合的所有文档。
例如:查询出person集合中所有的数据。
db.person.find()
想要查看当前数据库中的集合列表,可以使用:show collections。
MongoDB中常见的一些运算符:大于(gt)、大于等于(gt)、大于等于(gte)、小于(lt)、小于等于(lt)、小于等于(lte)、不等于(ne)、包含于(ne)、包含于(in)、不包含于($nin)
三、更新
update命令可以更新指定文档的特定字段值,也可以替换整个文档,如果更新操作会增加文档大小,MongoDB将重新分配空间并重新定位。
语法:
db.collection.update(query,update,upsert:boolean,multi:boolean});
参数:
query:查询条件,文档,和find中的查询条件写法一致。
update:修改内容,文档。
upsert(可选):如果值为true,那么当集合中没有匹配文档时,创建文档。默认false。
multi(可选):如果值为true,那么将更新全部符合条件的文档,否则仅更新一个文档,默认false。
如下示例:将person集合中所有年龄小于30岁的数据,更新其状态为’X’。
db.person.update({age:{$lt:30}},{$set:{status:"X"}},{multi:true})
注:小于的操作符是lt,大于的操作符是lt ,大于的操作符是gt
save命令可以更新或插入一个新文档,与update命令不同的是,save只能对一个文档进行操作。
语法:
db.collection.save();
参数:
document:新的文档;
例如:用save命令将文档{name:”Tony”,age:12,gender:”man”}保存到person集合中
db.person.save({name:"Tony",age:12,gender:"man"})
四:删除
需要删除文档时使用remove命令,删除文档可以清理掉不需要的数据,释放存储空间,提升检索效率,但是错误的删除会是一场灾难,因此在执行数据删除操作时需要非常的谨慎!
语法:
db.collection.remove(
query,
justOne
)
参数:
query:BSON类型,删除文档的条件。
justOne:布尔类型,true:只删除一个文档,false:默认值,删除所有符合条件的文档。
下面是一个是将users集合中所有status=”X”的文档删除操作,对比一下MongoDB和传统SQL数据库删除的操作,看看有哪些不同之处。
与传统SQL比较 - 删除文档
MongoDB
db.person.remove({status:"X"})
传统SQL
delete from person where status = 'X'
相关文章推荐
- MongoDB与Tokyo Tyrant性能比较(1):基础CRU操作
- 8天学通MongoDB(实际操作版)——第一天 基础入门
- PHP实现对MongoDB的基础操作
- Mongodb基础用法及查询操作
- PHP实现对MongoDB的基础操作
- MongoDB与Tokyo Tyrant性能比较(1):基础CRU操作
- Mongodb 基础操作
- Mongodb基础操作学习
- Mongodb数据操作基础
- mongodb基础操作
- Mongodb基础用法及查询操作
- mongodb基础系列——java操作mongodb实现CURD
- java 操作mongodb插入、读取、修改以及删除基础
- java mongodb 基础系列---查询,排序,limit,$in,$or,输出为list,创建索引,$ne 非操作
- MongoDB与PHP的扩展进行添加、修改、查询、删除等操作基础教程
- MongoDB与Tokyo Tyrant性能比较:基础CRU操作(转自:老赵)
- mongodb之基础操作
- mongodb基础系列——java操作mongodb实现图片文件功能
- MongoDB基础理念及操作初探
- mongodb基础操作--增删改查