狼愛上貍

          我胡漢三又回來了

          mongo shell命令

          命令行

          --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) 效率更高。如果元素類型是字符串,數字或時間,你還可以使用正則表達式: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之前)

          posted on 2011-03-23 10:29 狼愛上貍 閱讀(8453) 評論(0)  編輯  收藏 所屬分類: Mongo

          主站蜘蛛池模板: 莱芜市| 抚松县| 会东县| 确山县| 扶绥县| 辛集市| 定襄县| 会昌县| 太和县| 峡江县| 濉溪县| 章丘市| 佳木斯市| 信宜市| 崇州市| 罗山县| 泰来县| 阿拉善右旗| 望都县| 子洲县| 全南县| 凌源市| 循化| 黔江区| 湛江市| 平泉县| 沾化县| 西藏| 桐庐县| 鲁甸县| 安新县| 涡阳县| 黄大仙区| 凤凰县| 安图县| 许昌市| 谢通门县| 涿州市| 澳门| 大洼县| 博罗县|