加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

mongodb的增删改查流程操作

发布时间:2023-10-04 14:41:51 所属栏目:系统 来源:
导读:这篇文章运用了实例代码展示mongodb的增删改查操作,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。

增: insert

介绍: mongodb存储的是文档,. 文档是json格式的对象.

语法: db.coll
这篇文章运用了实例代码展示mongodb的增删改查操作,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。
 
增: insert
 
介绍: mongodb存储的是文档,. 文档是json格式的对象.
 
语法: db.collectionName.isnert(document);
 
1: 增加单篇文档
 
Db.collectionName.insert({title:’nice day’});
 
2: 增加单个文档,并指定_id
 
Db.collectionName.insert({_id:8,age:78,name:’lisi’});
 
3.增加多个文档
 
db.collectionName.insert(
 
[
 
{time:'friday',study:'mongodb'},
 
{_id:9,gender:'male',name:'QQ'}
 
]
 
)
 
删:remove
 
语法: db.collection.remove(查询表达式, 选项);
 
选项是指  {justOne:true/false},是否只删一行, 默认为false
 
注意
 
1: 查询表达式依然是个json对象
 
2: 查询表达式匹配的行,将被删掉.
 
3: 如果不写查询表达式,collections中的所有文档将被删掉.
 
例1: db.stu.remove({sn:’001’});
 
删除stu表中 sn属性值为’001’的文档
 
例2: db.stu.remove({gender:’m’,true});
 
删除stu表中gender属性为m的文档,只删除1行.
 
改  update操作
 
改谁? --- 查询表达式
 
改成什么样? -- 新值 或 赋值表达式
 
操作选项 ----- 可选参数
 
语法: db.collection.update(查询表达式,新值,选项);
 
例:
 
db.news.update({name:'QQ'},{name:'MSN'});
 
是指选中news表中,name值为QQ的文档,并把其文档值改为{name:’MSN’},
 
结果: 文档中的其他列也不见了,改后只有_id和name列了.
 
即--新文档直接替换了旧文档,而不是修改
 
如果是想修改文档的某列,可以用$set关键字
 
db.collectionName.update(query,{$set:{name:’QQ’}})
 
例子:
 
如果不想要country字段了,使用$unset操作符删除即可:
 
修改时的赋值表达式
 
$set  修改某列的值
 
$unset 删除某个列
 
$rename 重命名某个列
 
$inc 增长某个列
 
$setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段.
 
例子:
 
mongodb的增删改查操作
 
Option的作用:
 
{upsert:true/false,multi:true/false}
 
Upsert---是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)
 
例:db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true});
 
如果有name=’wuyong’的文档,将被修改
 
如果没有,将添加此新文档
 
例:
 
db.news.update({_id:99},{x:123,y:234},{upsert:true});
 
没有_id=99的文档被修改,因此直接插入该文档
 
multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项)
 
例:
 
db.news.update({age:21},{$set:{age:22}},{multi:true});
 
则把news中所有age=21的文档,都修改
 
例子:
 
mongodb的增删改查操作
 
查: find, findOne
 
语法: db.collection.find(查询表达式,查询的列);
 
Db.collections.find(表达式,{列1:1,列2:1});
 
例1:db.stu.find()
 
查询所有文档 所有内容
 
例2: db.stu.find({},{gendre:1})
 
查询所有文档,的gender属性 (_id属性默认总是查出来)
 
例子:
 
mongodb的增删改查操作
 
例3: db.stu.find({},{gender:1, _id:0})
 
查询所有文档的gender属性,且不查询_id属性
 
例子:
 
mongodb的增删改查操作
 
例3: db.stu.find({gender:’male’},{name:1,_id:0});
 
查询所有gender属性值为male的文档中的name属性
 
例子:
 
mongodb的增删改查操作
 
Update时可用的操作符
 
例:
 
->db.user.insert({name:'lisi',age:12,sex:'male',height:123,area:'haidian'});
 
->db.user.update({name:'lisi'},{$set:{area:'chaoyang'},$unset:{height:1},$inc:{age:1},$rename:{sex:'gender'}});
 
db.user.find();
 
{ "_id" : ObjectId("51fc01c4f5de93e1f2856e33"), "age" : 13, "area" : "chaoyang", "gender" : "male", "name" : "lisi" }
 
$setOnInsert ->相当于mysql中的列的默认值
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章