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()删除多条数据

相关推荐
李广坤17 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
AI全栈实验室2 天前
MongoDB迁移金仓踩了5个坑,最后一个差点回滚
mongodb
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest3 天前
数据库SQL学习
数据库·sql
jnrjian3 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle