最近公司项目在做核心重构,我负责的项目核心重构改动不大,新需求开发不是很紧急,所以我在调研 MongoDB 的使用,后续会陆续发出我调研时整理的一些案例。
1.1 新增
1.1.1 新增单条数据,_id自动生成
db.user.insert({
name:'zhangsan',
base_info:{
age:NumberInt(20),
gender:'F'
}
}
)
1.1.2 新增单条数据,指定_id
db.user.insert({
_id:1,
name:'lisi',
base_info:{
age:NumberInt(20),
gender:'F'
}
}
)
1.1.3 一次插入多个文档,是用数组形式
db.user.insert([
{_id:2,name:'wangwu',mobile:13876778738},
{name:'zhaoliu',fans:100}
]);
1.2 修改
1.2.1 文档替换
db.user.update({_id:1},{name:'lisix'});
1.2.2 修改某个值
db.user.update({_id:2},{$set:{name:'wangwux'}});
1.2.3 删除某个列
db.user.update({_id:2},{$unset:{mobile:1}});
1.2.4 某个列自增
db.user.update({name:'zhaoliu'},{$inc:{fans:1}});
1.2.5 重命名某个列
db.user.update({name:'zhaoliu'},{$rename:{fans:'follows'}});
1.2.6 修改多行
db.user.update(
{name:{$exists:true}},
{$set:{classroom:'new york'}}
)
db.user.update(
{name:{$exists:true}},
{$set:{classroom:'new york'}},
{multi:true}
)
1.2.7 有则修改,没有则插入
db.user.update(
{name:'zhangsan'},
{$set:{floor:27}},
{upsert:true}
)
db.user.update(
{name:'tianqi'},
{$set:{floor:27}},
{upsert:true}
)
1.2.8 insert时,添加键值对
db.user.update(
{name:'zhangwuji'},
{$setOnInsert:{classroom:'new york'}},
{upsert:true}
)
db.user.update(
{name:'tianqi'},
{$setOnInsert:{classroom:'new york'}},
{upsert:true}
)
1.3 删除
1.3.1 删除单条数据
db.user.remove({name:'zhangwuji'})
1.3.2 删除全部数据(不演示)
db.user.remove({})
1.3.3 删除满足条件的第一条
db.user.remove({},true)
1.4 查询
1.4.1 查询全部内容
db.user.find()
1.4.2 返回某列
db.user.find({},{name:true})
1.4.3 查询指定内容,返回某些列
db.user.find(
{classroom:{$exists:true}},
{_id:false, name:true, classroom:true}
)
本文为 陈华 原创,欢迎转载,但请注明出处:http://edu.ichenhua.cn/read/38
- 上一篇:
- 京东全球购JBL蓝牙耳机返修经历
- 下一篇:
- MongoDB基础之查询表达式