mongdb语法

Docker 环境下MongoDB安装

docker run ‐di ‐‐name=tensquare_mongo ‐p 27017:27017 mongo ————————————在宿主机创建mongo容器

mongo 192.168.184.134 ------------------远程登陆

use spitdb ---------------------创建数据库spit

插入文档的语法格式

db.集合名称.insert(数据);
例如:
db.spit.insert({content:“我的天你好帅”,userid:“1011”,nickname:“小雅”,visits:NumberInt(902)}) ----------插入文档

查询集合的语法格式

db.spit.find() ----------------要查询spit集合的所有文档

db.spit.find({userid:‘1013’}) -----------------查询userid为1013的记录

db.spit.findOne({userid:‘1013’})--------------只需要返回符合条件的第一条数据

db.spit.find().limit(3) -----------------------返回指定条数的记录

模糊查询

MongoDB的模糊查询是通过正则表达式的方式实现的。格式为:/模糊查询字符串/

db.spit.find(content:/流量/) -------------------------查询吐槽内容包含“流量”的所有文档

db.spit.find(content:/^流量/) ------------------------------查询吐槽内容中以“加班”开头的

大于 小于 不等于

<, <=, >, >= 这个操作符也是很常用的,格式如下:

db.集合名称.find({ “field” : { $gt: value }}) ------------------------ 大于: field > value
db.集合名称.find({ “field” : { $lt: value }}) ------------------------ 小于: field < value
db.集合名称.find({ “field” : { $gte: value }}) ------------------------ 大于等于: field >= value
db.集合名称.find({ “field” : { $lte: value }}) ------------------------ 小于等于: field <= value
db.集合名称.find({ “field” : { KaTeX parse error: Expected 'EOF', got '}' at position 11: ne: value }̲}) ---------…gt: 1000}}) ---------------------------查询吐槽浏览量大于1000的记录

包含与不包含

包含使用$in操作符。

示例:查询吐槽集合中userid字段包含1013和1014的文档
db.spit.find({userid:{$in:[“1013”,“1014”]}})

不包含使用KaTeX parse error: Expected '}', got 'EOF' at end of input: ….find({userid:{nin:[“1013”,“1014”]}})

条件连接

需要查询同时满足两个以上条件,需要使用KaTeX parse error: Expected '}', got 'EOF' at end of input: … db.spit.find({and:[ {visits:{KaTeX parse error: Expected 'EOF', got '}' at position 9: gte:1000}̲} ,{visits:{lt:2000} }]})---------------查询吐槽集合中visits大于等于1000 并且小于2000的文档

如果两个以上条件之间是或者的关系,我们使用0r 操作符进行关联
db.spit.find({KaTeX parse error: Expected '}', got 'EOF' at end of input: …13"} ,{visits:{lt:2000} }]}) ---------查询吐槽集合中userid为1013,或者浏览量小于2000的文档记录

修改文档

db.集合名称.update(条件,修改后的数据)
想修改_id为1的记录,浏览量为1000,输入以下语句:
db.spit.update({id:“1”},{visits:NumberInt(1000)})
执行后,我们会发现,这条文档除了visits字段其它字段都不见了,为了解决这个问题,我们需要使用修改器KaTeX parse error: Expected '}', got 'EOF' at end of input: …date({id:"1"},{set:{visits:NumberInt(1000)}})

列值增长

如果我们想实现对某列值在原有值的基础上进行增加或减少,可以使用KaTeX parse error: Expected '}', got 'EOF' at end of input: …date({id:"1"},{inc:{visits:NumberInt(1)}})

删除文档

db.集合名称.remove(条件)
db.集合名称.remove({}) -----------------将数据全部删除
db.集合名称.remove({visits:NumberInt(1000)}) ----------------------删除visits=1000的记录

统计数

统计记录条件使用count()方法。
db.spit.count() ---------------------统计spit集合的记录数
db.spit.count({userid:“1013”}) ------------------------统计userid为1013的记录条数

全部评论

相关推荐

2025-12-18 14:55
广西大学 用户运营
点赞 评论 收藏
分享
兑生:一开始只是想找个实习,找到实习了想进大厂,进大厂了想转正,转正了想offer打牌,打牌了想要大包,大包了想要wlb……
点赞 评论 收藏
分享
昨天 11:18
门头沟学院 Java
作者先叠个甲:本人双非本,秋招拿到了多个大厂offer,这个过程也不容易,但是在看到很多秋招胜利之后说自己一路有多艰辛的文章,总感觉有一点不对劲,想了很久打算写一篇文章分析一下,本文仅代表作者观点,不认同的可以在评论区大家一起理性讨论。&nbsp;秋招已经结束,各类社交平台出现一大批“大厂上岸”胜利结算。文章的叙事逻辑高度相同,开篇就渲染焦虑和困惑,学习时的挑灯夜读、投递时的屡屡碰壁、面试时的如履薄冰,将过往经历包装成一步艰辛的“奋斗史”,然后最终以大厂offer的胜利结尾,字里行间全是苦尽甘来的优越感。但是在我看来,这类文章的本质是结果导向的、带有浮夸的叙事,因为其内核不是分享经验,而是借“苦难”之名...
创作小队长:你的批判视角非常犀利,尤其“结果决定叙事权”的洞察非常精准,哈哈想邀请你来成为我们的创作者🫰 但我想补充一个视角:许多分享者的初衷并非炫耀结果或者苦难,我更愿意相信他们在这个过程中付出了很多,在这场战役结束后,他们迫不及待地想被看到,记录和分享都是给自己的一个交代,而非真的教会别人什么,他们的初衷未必是想制造焦虑。求职市场的残酷、经济环境的下行、世俗价值观才是这种叙事流行的土壤,作为一个普通人无法抵抗洪流。 感谢你发起这场讨论。理想的社区,既需要这样锐利的批判来保持清醒,你的洞察非常犀利,也许会启发一些人,能逐渐改变这种叙事~
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务