MongoDB常用命令:
超級用戶相關(guān):
use admin
#增加或修改用戶密碼
db.addUser(ixigua,'pwd')
#查看用戶列表
db.system.users.find()
#用戶認證
db.auth(ixigua,'pwd')
#刪除用戶
db.removeUser('mongodb')
#查看所有用戶
show users
#查看所有數(shù)據(jù)庫
show dbs
#查看所有的collection
show collections
#查看各collection的狀態(tài)
db.printCollectionStats()
#查看主從復(fù)制狀態(tài)
db.printReplicationInfo()
#修復(fù)數(shù)據(jù)庫
db.repairDatabase()
#設(shè)置記錄profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
#查看profiling
show profile
#拷貝數(shù)據(jù)庫
db.copyDatabase('mail_addr','mail_addr_tmp')
#刪除collection
db.mail_addr.drop()
#刪除當(dāng)前的數(shù)據(jù)庫
db.dropDatabase()
客戶端連接:
/usr/local/mongodb/bin/mongo 8.8.88/ixigualib -u ixigua -p 'pwd'
增刪改:
#存儲嵌套的對象
db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})
#存儲數(shù)組對象
db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})
#根據(jù)query條件修改,如果不存在則插入,允許修改多條記錄
db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)
#刪除yy=5的記錄
db.foo.remove({'yy':5})
#刪除所有的記錄
db.foo.remove()
索引:
#增加索引: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()
#根據(jù)索引名刪除索引
db.user_addr.dropIndex('Al.Em_1')
查詢:
#查找所有
db.foo.find()
#查找一條記錄
db.foo.findOne()
#根據(jù)條件檢索10條記錄
db.foo.find({'msg':'Hello 1'}).limit(10)
#sort排序
db.deliver_status.find({'From':'ixigua@sina.com'}).sort({'Dt',-1})
db.deliver_status.find().sort({'Ct':-1}).limit(1)
#count操作
db.user_addr.count()
#distinct操作
db.foo.distinct('msg')
#>操作
db.foo.find({"timestamp": {"$gte" : 2}})
#子對象的查找
db.foo.find({'address.city':'beijing'})
管理:
#查看collection數(shù)據(jù)的大小
db.deliver_status.dataSize()
#查看colleciont狀態(tài)
db.deliver_status.stats()
#查詢所有索引的大小
db.deliver_status.totalIndexSize()
#查看當(dāng)前所使用的數(shù)據(jù)庫
db
作者 mahout
以下是其他網(wǎng)友的補充:
庫操作
show dbs
查看系統(tǒng)中的數(shù)據(jù)庫列表
注:數(shù)據(jù)庫中必須有內(nèi)容才會顯示
db = db.getSiblingDB("數(shù)據(jù)庫名>")
or
use 數(shù)據(jù)庫名>
切換當(dāng)前數(shù)據(jù)庫
注:如果數(shù)據(jù)庫不存在,則創(chuàng)建數(shù)據(jù)庫
任何一種方法都是可以的,并把db值設(shè)置為指定的數(shù)據(jù)庫,然后可以使用db來管理新的當(dāng)前數(shù)據(jù)庫。
db.dropDatabase() 刪除當(dāng)前數(shù)據(jù)庫
注:刪除當(dāng)前數(shù)據(jù)庫,然后在不改變當(dāng)前數(shù)據(jù)庫的情況下使用句柄創(chuàng)建一個集合,則被刪的數(shù)據(jù)庫會被重新創(chuàng)建。
db.copyDatabase("當(dāng)前數(shù)據(jù)庫名>", "備份庫名>", [hostname])
復(fù)制數(shù)據(jù)庫,創(chuàng)建除名稱外一模一樣的數(shù)據(jù)庫
注:可選的hostname參數(shù)指定當(dāng)前庫MongDB服務(wù)器主機名。
db 顯示當(dāng)前數(shù)據(jù)庫
集合操作
show collections 查看當(dāng)前數(shù)據(jù)庫中包含的集合的名單
db.createCollection("集合名>", {options>}) 創(chuàng)建集合
注:參數(shù)二可選對象
屬性 說明
capped 布爾,如果為true,表示該集合是一個封頂集合,它不會增長到比size屬性指定最大規(guī)模更大。默認:false
autoIndexID 布爾,如果為true,表明自動為添加到集合的每個文檔創(chuàng)建一個_id字段并實現(xiàn)該字段上索引。這對封頂集合應(yīng)該是false。默認true
size 字節(jié)單位大小,用于封頂集合。最舊的文件被刪除,以騰出空間給新文件
max 在封頂集合中允許的最大文檔數(shù)。最舊的文件被刪除,以騰出空間給新文件
db.集合名>.drop()
or
coll = db.getCollection("集合名>")
coll.drop() 刪除集合
db.集合名>.find()
or
coll = db.getCollection("集合名>")
coll.find(query) 在集合中查看文檔
注:可選query參數(shù)指定包含字段和值的查詢文檔與集合中的文檔匹配,并返回匹配內(nèi)容。例:coll.find({speed:"120mph"})
db.集合名>.insert({})
or
db.集合名>.save({})
在集合中插入文檔數(shù)據(jù)(如果集合不存在會被創(chuàng)建,save也是)
將同類數(shù)據(jù)視為一個集合
集合中數(shù)據(jù)具體相似的屬性
集合是一個容器,內(nèi)部可放置N多數(shù)據(jù)
可以對這些數(shù)據(jù)進行篩選、排序
db.集合名>.remove({篩選條件},false)
從集合中刪除文檔 參數(shù)1:篩選條件。參數(shù)2:可選參數(shù),是否單行刪除,默認false。
db.集合名>.save({ "_id" : ObjectId("57e26b294a655f35e13d6f5d"), "name" : "hung", "age" : 18})
or
db.集合名>.update( {篩選條件}, {$set:{"name":"jin","up":true}},
{upsert:true,multi:true}) 更新集合中的文檔
參數(shù)一:更新文檔的條件
參數(shù)二:更新時使用的更新運算符,以及更新屬性
常用運算符:$inc遞歸該字段值。$set設(shè)置字段值。$push將一個條目推送數(shù)組。$rename重命名字段。等··
參數(shù)三:可選,兩個屬性。multi(匹配到的所有文檔更新,默認false只更新第一條)和upsert(若沒有找到匹配項,創(chuàng)建一個,默認false不創(chuàng)建),布爾。
*******************************************************************
db.集合名>.pretty() 整齊的顯示查詢文檔
db.集合名>.find().sort({屬性:1/-1}) 按指定的屬性排序
1是正序,-1:倒序
db.集合名>.find().limit(n) 顯示前n條數(shù)據(jù)
db.集合名>.find().skip(n) 跳過前n條數(shù)據(jù)
條件查找
db.集合名>.find({屬性:value}) 屬性==值
db.集合名>.find({屬性:{運算符:value}})
運算符:
$lt 小于
$lte 小于等于
$gt 大于
$gte 大于等于
$ne 不等于
對同一屬性使用兩個運算符
db.集合名>.find({ 屬性: { 運算符1:value, 運算符2:value } })
如:db.集合名>.find({ age: { $gt: 6, $lt: 16 } })
對不同屬性同時限定條件(兩個條件同時成立)
db.集合名>.find( {屬性1: { 運算符:value }, 屬性2: { 運算符:value }})
或條件
db.集合名>.find({
$or: [
{屬性: value},
{屬性: value},
{屬性: value}
]
})
使用函數(shù)篩選數(shù)據(jù)
db.集合名>.find({
$where: function(){
return true/false
}
})
您可能感興趣的文章:- MongoDB常用操作命令大全
- mongodb與mysql命令詳細對比
- Ubuntu系統(tǒng)中安裝MongoDB及其啟動命令mongod的教程
- MongoDB入門教程(包含安裝、常用命令、相關(guān)概念、使用技巧、常見操作等)
- MongoDB使用mongoexport和mongoimport命令,批量導(dǎo)出和導(dǎo)入JSON數(shù)據(jù)到同一張表的實例
- Mongodb啟動命令參數(shù)中文說明
- mongodb數(shù)據(jù)庫的6個安全設(shè)置命令
- mongodb 命令行下及php中insert數(shù)據(jù)詳解
- 詳解MongoDB管理命令
- Ubuntu下安裝PHP的mongodb擴展操作命令
- MongoDB中的主從同步配置和mongod相關(guān)啟動命令講解
- MongoDB使用自帶的命令行工具進行備份和恢復(fù)的教程
- MongoDB最基本命令速查筆記
- MongoDB Shell 命令實例總結(jié)【進階篇】
- Mongodb 啟動命令mongod參數(shù)說明(中文翻譯)
- mongodb監(jiān)控工具mongostat的使用及命令詳解
- MongoDB的基本安裝與管理命令腳本總結(jié)
- MongoDB常用數(shù)據(jù)庫命令大全