mongodb 常用命令

來源:互聯網
上載者:User

標籤:

轉自http://www.blogjava.net/waterjava/archive/2011/03/23/346819.html命令列
--help 顯示命令列參數
--nodb 不串連資料庫方式啟動,稍後可以使用 new Mongo() 或 connect() 來建立串連
--shell 從命令列運行完一個 .js 檔案後,停留在shell中,而不是結束
特殊命令

非JavaScript的輔助指令:

help 顯示協助
db.help() 顯示 db 方法協助
db.myColl .help() 顯示聚集的方法協助
show dbs 列印伺服器上所有資料庫的列表
use dbname 設定db變數來指明使用伺服器上的 dbname 資料庫
show collections 列印當前資料庫的所有聚集
show users 列印當前資料庫的使用者
show profile 列印最近耗時大於1ms的profiling操作
基本的Shell Javascript操作
db 指向當前資料庫物件和串連的變數,已經在你的執行個體裡定義好。
db.auth(user,pass) 資料庫認證(如果運行安全模式的話)
coll = db.collection 訪問資料庫裡特定的 collection
cursor = coll.find() 尋找聚集裡所有的對象。參考 [查詢] 。
coll.remove(objpattern ) 從聚集裡刪除匹配的對象。 
objpattern 是一個指定匹配的域的對象,例如:coll.remove( { name: "Joe" } );
coll.save(object ) 在聚集中儲存對象,如果已經存在的話則更新它。 
如果對象有 presave 方法,則會在儲存到資料庫之前(插入和更新之前)調用該方法。
coll.insert(object) 向聚集中插入對象。不會檢查該對象是否已經存在聚集中(即,不是 upsert)
coll.update(...) 在聚集中更新對象。update() 有許多參數,請查看 更新 文檔。
coll.ensureIndex( { name : 1 } ) 對 name 建索引。如果索引存在則不做任何事。
coll.drop() 刪除 coll 聚集
db.getSisterDB(name) 返回當前串連的另一個資料庫。它允許跨資料庫查詢,例如:db.getSisterDB(‘production‘).getCollectionNames()
查詢
coll.find() 查詢所有文檔
it 迴圈上次 find() 調用返回的遊標
coll.find( criteria ); 查詢聚集中匹配 criteria 的對象。例如:coll.find( { name: "Joe" } );
coll.findOne( criteria); 查詢並返回一個對象。如果沒有找到則返回 null。如果你只需要返回一個對象,這個方法比 find() as limit(1) 效率更高。如果元素類型是字串,數字或時間,你還可以使用Regex:coll.find( { name: /joe/i } );
coll.find( criteria, fields ); 查詢對象裡特定的域。例如:coll.find( {}, {name:true} );
coll.find().sort( {field :1[, field :1] }); 對返回結果進行排序(field ASC)。使用 -1 表示 DESC。
coll.find( criteria ).sort( { field : 1 } ) 尋找匹配 criteria 的對象,並對 field 進行排序。
coll.find( ... ).limit(n ) 限制結果返回 n 行。如果你只需要某幾行資料,推薦這樣做來獲得最優效能。
coll.find( ... ).skip(n) 跳過 n 行結果。
coll.count() 返回聚集裡對象的總數。
coll.find( ... ).count() 返回匹配該查詢的對象總數。注意,該返回會忽略 limit 和 skip。比如有100行記錄匹配該查詢,但是limit為10,count() 仍會返回100。這比你自己迴圈更快,但仍然需要消耗些時間。

更多資訊請參考 [查詢] 。

錯誤檢查
[{{db.getLastError()}}] 返回上次操作的錯誤
db.getPrevError() 返回之前操作的錯誤
db.resetError() 清除錯誤記錄
管理命令
db.cloneDatabase(fromhost) 從另外指定的主機拷貝當前資料資料庫。fromhost必須為noauth模式。
db.copyDatabase(fromdb, todb, fromhost) 拷貝fromhost的fromdb資料庫到當前伺服器的todb資料庫。fromhost必須為noauth模式。
db.repairDatabase() 修複當前資料庫。如果資料庫很大則該操作會非常慢。
db.addUser(user,pwd) 給當前資料庫添加使用者。
db.getCollectionNames() 獲得所有聚集的列表。
db.dropDatabase() 刪除當前資料庫。
開啟額外串連
db = connect("<host>:<port>/<dbname>") 開啟一個新的資料庫連接。一個shell可能有多個串連,但是shell自動的getLastError只用於 ‘db‘ 變數。
conn = new Mongo("hostname") 開啟一個新的伺服器串連。然後可以使用 getDB() 來選擇一個資料庫。
db = conn.getDB("dbname") 對一個串連選擇一個特定的資料庫。
其他
Object.bsonsize(db.foo.findOne()) 列印一個資料庫物件的bson大小(mongo 版本1.3及以上)
db.foo.findOne().bsonsize()

列印一個資料庫物件的bson大小 (mongo 版本1.3之前)

 

 

mongodb 常用命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.