MongoDB常用sql指令
1 数据库常用指令
- show dbs 查看mongoDB所有库
- use dbName 创建/切换 数据库
- db.dropDataBase() 删库与跑路,删除当前数据库
- db.help 查看帮助指令
- db.stats() 查看当前数据库信息,如collections即集合的数量
- db.getName() 查看当前数据库名
- db.getCollectionNames() 列出数据库所有集合的姓名
- db.version() 查看数据库版本信息
- db.getMongo() 查看连接地址 //connection to 127.0.0.1:27017
2 Collection集合常用指令
- db.createCollection(cName,fieldObj) 创建集合,如db.createCollection("collName", {size: 20, capped: true, max: 100});
- db.getCollection(cName) 拿到数据库.集合名字
- db.collName.isCapped() 集合是否定容
- db.getCollectionNames() 显示当前数据库的所有集合
- db.printCollectionStats() 显示当前数据库下所有集合的状态信息
2.1 集合的增删改
- db.users.save|insert(fieldObj) 向集合插入记录
- db.users.insertMany([{name:"111"},{name:"112"},{name:"113"}]) 插入多条数据
- db.users.remove(queryObj) 删除符合条件的集合记录
- db.users.update({age:25},{$set:{name:'name'}},false,true) 更新记录 一参代表查询条件,二参代表更新的值,相当于update 后面的set,三参是否将参数2插入到集合中,true(没找到就插入),false(没找到不插入),四参false(只更新到查询到的第一条记录),true(更新查询到的所有记录)
2.2 集合的查询
- db.CollectionName.find() 查询所有
- db.Cname.distinct(field) 去重查询,查找某字段去重之后的结果
- db.Cname.find({age:20}) 根据字段值查询
2.2.1 条件查询、模糊查询
- db.Cname.find({age:{$lt:20}}) 条件查询,小于
- db.users.find({age:{$gt:30}}): 条件查询,大于
- db.users.find({age:{$gte:48}}): 条件查询,大于等于
- db.users.find({age:{$lte:48}}): 条件查询,小于等于
- db.users.find({age:{lt:50}}) 条件查询,区间之内
- db.users.find({name:/^t/}) 模糊查询,t开头
- db.users.find({name:/c$/}) 模糊查询,c结尾
- db.users.find({name:/s/}) 模糊查询,包含s
2.2.2 查询指定列 排序
- db.users.find({},{name:1}) 查询结果只包含name列和id列
- db.users.find({age:{$gt:40}},{name:1,age:1}) 条件查询指定列
- db.users.find({},{name:1,age:1,_id:0}).sort({age:-1}) 降序条件查询指定列
2.2.3 分页查询
- db.users.find({},{name:1,age:1,_id:0}).limit(3).skip(2).sort({age:-1}) 分页查询第3-5条数据,按年龄降序排列(注意,会先拿排序结果再分页,而不是拿分页结果再排序)
- db.users.findOne() 查询第一条数据
- db.users.find({$or:[{age:25},{age:20}]}) 或查询
- db.users.find().count() 查询记录数
分类:
前端技术栈 / MongoDB
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端