MongoDB中文档操作(二)
一、插入文档
1、db.集合名.insert()
插入一个:db.user.insert({name:"Join",age:13,address:"beijing",isDelete:0})
插入多个:db.user.insert([{name:"Join",age:13,address:"beijing",isDelete:0},{name:"Join2",age:13,address:"beijing",isDelete:0},{name:"Join3",age:13,address:"beijing",isDelete:0}])
2、db.集合名.save()
指定_id则为修改更新:db.user.save({_id:ObjectId("234567892345678"),name:"Join",age:13,address:"beijing",isDelete:0})
不指定_id则和insert是一样的,为新增:db.user.save({name:"Join4",age:13,address:"beijing",isDelete:0})
二、文档更新
1、更新已经存在的文档:db.集合名.update()
db.集合名.update(<query>,<update>,{upset:<boolean>,multi:<boolean>,writeConcern:<document>})
query:查询条件
update操作符:set−−−−立即更新;inc----在原有的基础上累积增加后更新
multi:可选项,默认为false,如果为true则只更新第一条
writeConcert:可选项,抛出异常的级别
eg:db.user.update({name:"Join"},{$set:{age:21}})
2、通过传入文档替换已有的文档,db.集合名.save()
db.集合名.save(文档数据,{writeConcern:<document>})
三、文档删除
db.集合名.remove()
db.集合名.remove(<query>,{justOne:<boolean>,writeConcern:<document>})
四、文档查询
1、查询集合中所有的文档:db.集合名.find()
2、查询符合要求的文档:db.集合名.find(<query>,{<key>:1,<key>:2...}),query为判断查询的要求,key为查询出显示的哪些内容1为显示
eg:db.user.find({age:21},{age:1,name:1})
3、以格式化的方式显示:pretty()
eg:db.user.find().pretty()
4、查询后显示符合结果的第一条内容:findOne()
5、查询条件 操作符
内容 | 符合 | 表达式 |
大于 | $gt | db.集合名.({<key>:{$gt:<value>}}) |
大于等于 | $gte | db.集合名.({<key>:{$gte:<value>}}) |
小于 | $lt | db.集合名.({<key>:{$lt:<value>}}) |
小于等于 | $lte | db.集合名.({<key>:{$lte:<value>}}) |
等于 | : | db.集合名.({<key>:<value>}) |
不等于 | $ne | db.集合名.({<key>:{$ne:<value>}}) |
使用_id查询 | _id | db.集合名.({"_id":ObjectId("id值")}) |
符合结果的数量 | count | db.集合名.({<key>:<value>}).count() |
查询结果中某个字段是否包含某个值 | /包含的值/ | db.集合名.({name:/io/}) |
查询结果中某个字段是否以某值开头 | /^包含的值/ | db.集合名.({name:/^J/}) |
6、条件查询 and 、or
and:db.集合名.find({<key>:<value>,<key2>:<value2>,<key3>:<value3>})
or :db.集合名.find({$or:[{<key>:<value>},{<key2>:<value2>}]})
7、limit、skip
limit():读取指定数量的数据内容
eg:db.集合名.find().limit(5) 读取前5条数据
skip():跳过指定数量的数据内容
eg:db.集合名.find().skip(5) 跳过前5条数据
8、排序sort
db.集合名.find().sort({key:1})
1为升序排列,-1为降序排列
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)