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() 

posted @   程序生(Codey)  阅读(376)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示