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