mongodb基本语句
mongo增删改查
show dbs 显示所有db
use fengDb 转换到哪个db,没有这个db就自动新建一个这个db
db 显示当前操作的db
db.fengDb.insert({"name":"fengnovo"}) 在fengDb上增加一个记录
db.dropDatabase() 删除当前db(fengDb)
use fengDb 将操作对象转到db
show collections 显示上面的db即fengDb这个数据库下所有的集合
db.printCollectionStats() #查看各collection的状态
db.user1.drop() 删除fengDb数据库下面的user1集合
show users 查看所有用户
db.addUser('admin','pwd') #增加或修改用户密码
db.user1.save({'name':'fengnovo','age':26,'favor':['singing','playing']}) #存储嵌套的对象
db.user1.save({'name':'fengnovo','age':27}) #存储数组对象
db.user1.update({'name':'fengnovo'},{'$set':{'age':27}},upsert=true,multi=true)
#根据query条件修改,如果不存在则插入,允许修改多条记录
db.user1.remove({'age':24}) #删除age=24的记录
db.user1.remove() #删除所有的记录
db.user1.find() #查找所有
db.user1.find().pretty() #查找所有并格式化在控制台
db.user1.findOne({'name':'fengnovo'}) #查找一条记录
db.user1.find({'name':'fengnovo'}).limit(10) #根据条件检索10条记录
db.user1.find({'name':'fengnovo'}).sort({'age': 1})按age正序
db.user1.find({'name':'fengnovo'}).sort({'age': -1})按age
倒序
db.user1.find().sort({'age': -1}).limit(1) #sort排序
db.user1.count() #count操作 ,user1集合的数目
db.user1.distinct('age') #distinct操作 ,只取 age的值
db.user1.find({"age": {‘$gte' : 27}}) #>=操作
db.user1.find({"age": {'$lte' : 27}}) #<=操作
db.user1.find({'address.city':'beijing'}) #子对象的查找
下面的节选自http://hackpro.iteye.com/blog/1278105
db.help();
1. 超级用户相关:
#增加或修改用户密码
db.createUser({user:'admin',pwd: '123456',roles:[{role:'userAdmin',db:'admin'}]})
#查看用户列表
db.system.users.find()
#用户认证
db.auth('admin','pwd')
#删除用户
db.removeUser('mongodb')
#查看所有用户
show users
#查看所有数据库
show dbs
#查看所有的collection
show collections
#查看各collection的状态
db.printCollectionStats()
#查看主从复制状态
db.printReplicationInfo()
#修复数据库
db.repairDatabase()
#设置记录profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
#查看profiling
show profile
#拷贝数据库
db.copyDatabase('mail_addr','mail_addr_tmp')
#删除collection
db.mail_addr.drop()
#删除当前的数据库
db.dropDatabase()
2. 客户端连接
/usr/local/mongodb/bin/mongo user_addr -u user -p 'pwd’
3. 索引
增加索引:1(ascending),-1(descending)
db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true});
#索引子对象
db.user_addr.ensureIndex({'Al.Em': 1})
#查看索引信息
db.deliver_status.getIndexes()
db.deliver_status.getIndexKeys()
#根据索引名删除索引
db.user_addr.dropIndex('Al.Em_1’)
4. 管理
#查看collection数据的大小
db.deliver_status.dataSize()
#查看colleciont状态
db.deliver_status.stats()
#查询所有索引的大小
db.deliver_status.totalIndexSize()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!