Mongodb

常用命令

1、查看有哪些数据库

sql 复制代码
show databases; // 
show dbs;

2、 使用某个数据库

use database

3、插入数据

db.users.insertOne({name:"wwww"})

4.查看

db.users.find()

5、插入多条数据

db.users.insertMany({name:"王五",age:18},{name:"赵六",age:22})

6、 限制返回条数 limit

db.users.find().limit(1)

7、按照指定字段排序 sort

按照age年龄段排序

db.users.find().sort({age:-1})。 为-1就是降序排序,为1就是升序排序

多条件排序

db.users.find().sort({age:-1,name:1})

8、skip() 跳过一些查询结果

// 未使用skip()函数

db.users.find().sort({age:-1,name:1}).limit(3)

// 跳过第一条数据

db.users.find().sort({age:-1,name:1}).limit(3).skip(1)

9.find({键值对条件}) ,查询指定条件内容

db.users.find({age:15})

10、在find函数中显示要返回的字段

db.users.find({要返回的匹配内容},{要返回的字段信息})

db.users.find({age:18},{name:1})

// _id:0 ---- Id字段隐藏

db.users.find({age:18},{name:1,_id:0})

使用find 排除某些字段

db.users.find({age:18},{name:0})

11、 查询指定字段大于的条件 $gt

复制代码
db.users.find({age:{$gt:15}})

//$lt:小于

复制代码
db.users.find({age:{$lt:20}})

// 等于 $eq

复制代码
db.users.find({age:{$eq:18}})

12、in 查看集合中匹配的元素 in

db.users.find({age:{$in:18,15}})

13、不在数组中的值 $nin

db.users.find({age:{$nin:18,15}})

14.$exists 判断某个字段是否存在

// 返回有age的用户

复制代码
db.users.find({age:{$exists:true}})

// 返回没有age的用户

复制代码
db.users.find({age:{$exists:0}})

15. 大于等于 gte,小于等于 lte

复制代码
db.users.find({age:{$gte:10,$lte:15}})

同理 $and

复制代码
db.users.find({$and:[{age:{$gte:16}},{age:{$lte:18}}]})

$ not

不等于15,18的集合

复制代码
db.users.find({age:{$not:{$in:[15,18]}}})

正则表达式 $regex: /expression/

复制代码
db.users.find({name:{$regex:/张/}})

忽略大小写 $options:'i'

复制代码
db.users.find({name:{$regex:/张/,$options:'i'}})

聚合 countDocuments() 统计文档数量

统计文档数量

db.users.count()

复制代码
db.users.count({age:{$gte:15}})

findOne() 查询一条数据

// 查询age大于等于15 的第一条数据

复制代码
db.users.findOne({age:{$gte:15}})

updateOne 更新一条数据

复制代码
db.users.updateOne({age:15},{$set:{name:"lisi"}})

// 值不不存在也能给更新

复制代码
db.users.updateOne({name:"wwww"},{$set:{age:66}})

updateMany() 更新多条数据

deleteOne() 删除数据

db.users.deleteOne({name:"wwww"})

// 使用Id删除

复制代码
db.users.deleteOne({_id:ObjectId("661deb540bc6c23a98004c85")})

deleteMany()删除多条数据

相关推荐
这个DBA有点耶40 分钟前
银行核心系统数据库迁移怎么选?6 步法+5 个避坑指南
数据库·安全·架构
风哥2号44 分钟前
数据库教程FGMT31‑Linux平台MySQL9.7安装配置与版本升级
数据库
hanchenxing1 小时前
前端异步任务三方案:Celery vs Redis Stream vs BullMQ 实战对比消息队列
前端·数据库·redis·异步任务·方案对比
java_logo2 小时前
Docker 部署 Milvus:轻松搭建高性能向量数据库平台
数据库·docker·私有化部署·milvus·向量数据库·rag·轩辕镜像
A心有千千结3 小时前
GO 使用 OpenTelemetry 进行编译时插桩,实现零码注入
数据库·golang·可观测性·观测云
GreatVicent3 小时前
腾讯AI产业大会解读:Agent进场,企业基础设施怎么搭
大数据·数据库·人工智能·llm·agent·企业信息化
大模型码小白3 小时前
告别造假数据,直接连数据库查真实时序数据喂给 TimechoAI 大模型
java·数据库·人工智能·microsoft·架构
晚安日记wanna3 小时前
大表 DDL 面试翻车现场Online DDL 为什么还会锁死业务
数据库·面试·架构
IvorySQL3 小时前
PostgreSQL 日报|建库策略致备库静默丢数据(9 月 12 日)
数据库·人工智能·postgresql
这个DBA有点耶3 小时前
当Agent从“写SQL”变成“执行SQL”:数据库安全模型需要重新设计
数据库·aigc·dba