基本操作增删改查
一.增:insert
介绍: mongodb存储的是文档,文档是json格式的对象
语法:db.collectionName.insert(document);
1.增加单篇文档
db.collectionName.insert({title:'fuck you '});
2.增加单个文档并指定_id
db.collectionName.insert({_id:1,age:12,name:'wangwu'});
3.增加多个文档
db.collectionName.insert(
[
{time:'friday',study:'mongodb'},
{_id:2,gender:'male',name:'QQ'}
]
)
MongoDB的缺点:
(1)不支持事务
(2)MongoDB占用空间多,空间采用预分配。
二.删:remove
语法:db.collection.remove(查询表达式、选项);
选项是指 (justOne:true/false).是否只删一行,默认为false
注意:
1.查询表达式是个json对象
2.查询表达式匹配的行将被删除
3.如果不写查询表达式,collections中的所有文档将被删除
例1:db.stu.remove({_id:1});
删除stu表中id为1的文档
例2:db.stu.remove({_id:4},true);
删除stu表中id为4的文档,只删一行
三.查:find,findOne
语法:db.collection.find(查询表达式,查询的列);
db.collection.find(表达式,{列 1:1,列2:1});
四.改:update操作
db.news.update({name:'XML'},{name:'MSN'});
是指选中news表中name值为XML的文档并把其文档值改为{name:'MSN'};
修改时的赋值表达式
$set 修改某列的值
$unset 删除某个列
$rename 重命名某个列
$inc 增长某个列
$setOnInsert 当upsert为true并且发生了insert操作时,可以补充的字段
Option的作用
{upsert:true/false,multi:true/false}
Upsert--是指没有匹配的行,则直接插入该行(和mysql的replace一样)
例:
db.stu.update({_id:3},{x:123,y:234},{upsert:true});
没有_id=3的文档被修改,因此直接插入该文档
Multi--是指修改多行
例:
db.stu.update({age:21},{$set:{age:22}},{multi:true})
则把stu中所有age=21的文档都修改