MongoDB命令列操作
本文專門介紹MongoDB的命令列操作,分上,下兩篇(其實本來是一篇,後來太長,於是拆之)。下篇介紹Record級別的操作,上篇介紹除Record以外的操作,如對database和collection的操作等。
其實,這些操作在MongoDB官網提供的Quick Reference上都有,但是英文的,為了方便,這裡將其稍微整理下,方便查閱。
這裡用來做測試的是遠端(10.77.20.xx)的Mongo資料庫。
1、登入和退出
mongo命令直接加MongoDB伺服器的IP地址(比如:mongo 10.77.20.xx),就可以利用Mongo的預設埠號(27017)登陸Mongo,然後便能夠進行簡單的命令列操作。
至於退出,直接exit,然後回車就好了。
- $ mongo 10.77.20.xx
- MongoDB shell version: 2.0.4
- connecting to: 10.77.20.xx/test
- > show collections
- > exit
- bye
2、database級操作
- 2.1 檢視伺服器上的資料庫
- > show dbs
- admin (empty)
- back_up (empty)
- blogtest 0.203125GB
- local 44.056640625GB
- test (empty)
- 2.2 切換資料庫
- 切換到blogtest資料庫(從預設的test資料庫)
- > use blogtest
- switched to db blogtest
- mongo中,db代表當前使用的資料庫。這樣,db就從原來的test,變為現在的blogtest資料庫。
-
2.3 檢視當前資料庫中的所有集合
- > show collections
- book
- system.indexes
- user
- 2.4 建立資料庫
- mongo中建立資料庫採用的也是use命令,如果use後面跟的資料庫名不存在,那麼mongo將會新建該資料庫。不過,實際上只執行use命令後,mongo是不會新建該資料庫的,直到你像該資料庫中插入了資料。
- > use test2
- switched to db test2
- > show dbs
- admin (empty)
- back_up (empty)
- blogtest 0.203125GB
- local 44.056640625GB
- test (empty)
- 到這裡並沒有看到剛才新建的test2資料庫。
- > db.hello.insert({"name":"testdb"})
- 該操作會在test2資料庫中新建一個hello集合,並在其中插入一條記錄。
- > show dbs
- admin (empty)
- back_up (empty)
- blogtest 0.203125GB
- local 44.056640625GB
- test (empty)
- test2 0.203125GB
- > show collections
- hello
- system.indexes
- 這樣,便可以看到mongo的確建立了test2資料庫,其中有一個hello集合。
- 2.5 刪除資料庫
- > db.dropDatabase()
- { "dropped" : "test2", "ok" : 1 }
- > show dbs
- admin (empty)
- back_up (empty)
- blogtest 0.203125GB
- local 44.056640625GB
- test (empty)
- 2.6 檢視當前資料庫
- > db
- test2
- 可以看出刪除test2資料庫之後,當前的db還是指向它,只有當切換資料庫之後,test2才會徹底消失。
3、collection級操作
- 3.1 新建collection
- > db.createCollection("Hello")
- { "ok" : 1 }
- > show collections
- Hello
- system.indexes
- 從上面2.4也可以看出,直接向一個不存在的collection中插入資料也能建立一個collection。
- > db.hello2.insert({"name":"lfqy"})
- > show collections
- Hello
- hello2
- system.indexes
- 3.2 刪除collection
- > db.Hello.drop()
- true
- 返回true說明刪除成功,false說明沒有刪除成功。
- > db.hello.drop()
- false
- 不存在名為hello的collection,因此,刪除失敗。
- 3.3 重新命名collection
- 將hello2集合重新命名為HELLO
- > show collections
- hello2
- system.indexes
- > db.hello2.renameCollection("HELLO")
- { "ok" : 1 }
- > show collections
- HELLO
- system.indexes
- 3.4 檢視當前資料庫中的所有collection
- >show collections
- 3.5 索引操作
- 在HELLO集合上,建立對ID欄位的索引,1代表升序。
- >db.HELLO.ensureIndex({ID:1})
- 在HELLO集合上,建立對ID欄位、Name欄位和Gender欄位建立索引
- >db.HELLO.ensureIndex({ID:1,Name:1,Gender:-1})
- 檢視HELLO集合上的所有索引
- >db.HELLO.getIndexes()
- 刪除索引用db.collection.dropIndex(),有一個引數,可以是建立索引時指定的欄位,也可以是getIndex看到的索引名稱。
- >db.HELLO.dropIndex( "IDIdx" )
- >db.HELLO.dropIndex({ID:1})
- 3.6 為集合中的每一條記錄新增一個欄位
- 為user集合中的每一條記錄新增一個名為ex的欄位,並賦值為barrymore
- db.user.update({},{$set:{"ex":"barrymore"}},false,true)
- 3.7 重新命名欄位
- 將集合中的所有記錄的gender欄位的名字修改為sex
- db.user.update({},{$rename:{"gender":"sex"}},false,true)
- 3.8 刪除欄位
- 刪除集合中所有記錄的ex欄位
- db.user.update({},{"$unset":{"ex":1}},false,true)
上面的操作中用到了一個比較常用的update方法,其引數格式如下:
db.collection.update(criteria, objNew, upsert, multi )
criteria:update的查詢條件,類似sql update查詢內where後面的
objNew:update的物件和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的。
upsert : 如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
multi : mongodb預設是false,只更新找到的第一條記錄,如果這個引數為true,就把按條件查出來多條記錄全部更新。
相關推薦
MongoDB命令列操作
本文專門介紹MongoDB的命令列操作,分上,下兩篇(其實本來是一篇,後來太長,於是拆之)。下篇介紹Record級別的操作,上篇介紹除Record以外的操作,如對database和collection的操作等。 其實,這些操作在MongoDB官網提供的Quick Ref
MongoDB之——命令列操作
MongoDB shell 不僅僅是一個互動式的 shell,它也支援執行指定 javascript 檔案,也支援執行指定的命令片斷。有了這個特性,就可以將 MongoDB 與 linux shell 完美結合,完成大部分的日常管理和維護工作。1、通過 eval 引數執行指定
MongoDB之——基於Shell命令列操作記錄
一、插入記錄下面我們來建立一個 test 的集合並寫入一些資料. 建立兩個物件 j 和 t , 並儲存到集合中去.在例子裡 “>” 來表示是 shell 輸入提示符> j = { name : "mongo" }; {"name" : "mongo"} >
mongodb的命令列操作命令詳解(增刪改查、高階查詢)
本文為上文的續篇,主要講解mongodb在cmd的直接操作命令,我的mongodb是安裝在d:\mongodb下 1,mongodb啟動服務 : 命令列方式啟動: . 直接cmd下進入mongodb的bin目錄,輸入mongod.exe –dbpath
對於mongodb在linux上的的安裝與其簡單命令列操作的學習回顧
今天培訓主要學習了MongoDB的安裝與簡單操作以及關於NoSQL的一點概念性的知識,在此對所操作的MongoDB命令進行簡單回顧 1.MongoDB的安裝 與網上的教程無太多出入,Linux系統下直接通過終端輸入命令列 sudo apt-get install m
Linux下Mongodb安裝,命令列操作和sql語句
--logappend --port=27017 --fork 5. 引數解釋: --dbpath 資料庫路徑(資料檔案)--logpath 日誌檔案路徑--master 指定為主機器--slave 指定為從機器--source 指定主機器的IP地址--pologSize 指定日誌檔案大小不超過64M.因為
MongoDB常用的命令列操作
一、啟動mongo服務 執行指令碼./mongod 可以通過-dbpath來指定資料庫路徑 從日誌上可以看到mongo服務的預設配置資訊,還可一看到每一個連線到mongo服務的客戶端的資訊,已經客戶端操作資訊 二、連線mongo服務 1、連線本機mongo服務 執行指令碼
mongodb基本命令列操作
mongodb建立資料庫 use dbname mongodb檢視資料庫 show dbs 檢視資料庫下面的表 show collections 查詢表裡的資料 db.表名.find() mongodb向表裡插入一條資料 ./mongofiles -d camp
MYSQL命令列操作基本語句
首先進入MYSQL命令列控制介面: 1. 查詢所有資料庫: show databases; (分號不能少) 2 進入某一資料庫 use + 資料庫名 + database; Database changed表明已經
嵌入式命令列操作(可移植性)
本文件基於stm32f103並移植到F407, MSP430,以及s3c2440 最終效果如下: 以上多餘列印是除錯時解析bug用的,可以去除。 本文參考u-boot命令列,重點部分有三個:①資料定義 ②獲取串列埠資料(1個位元組) ③解析資料 資料定義 typedef v
Git入門(安裝及基礎命令列操作)
一、安裝 1、Mac 在Mac中安裝Git的方法不止一種。最簡單的要數通過Xcode命令列工具。對於Mavericks(10.9)或更高版本的作業系統,當你第一次嘗試在終端執行git命令時,系統會自動檢查是否已安裝Git;如果未安裝,則會提示你安裝它。如果希望獲得更高的版本,也可以通過二進位制安裝程式
linux 作業系統下簡單的命令列操作
一: 配置linux 作業系統虛擬主機 首先安裝一個虛擬機器(百度上面有很多哦) , 我主要使用的是VMware workstation 然後 下載一個centos映象6..5到7都可以; 然後用VMware安裝下載好的centos 配置好語言 , 使用者名稱 , 密
2018年10月31日Java學習之常用的命令列操作
1.常用的命令列操作 win+r調出並輸入cmd. 進入D盤:D:回車進入D盤:D:回車 D盤下的目錄DIR回車 建立目錄md 2018年10月31日 那麼建立了一個2018年10月31日的目錄(目前還在d盤目錄) 進入2018年10月31日的目錄 cd
【看這一篇就夠了】kubernetes入門命令列操作(例項演示)
寫在前面:網上找了好久終於找到了期盼已久的、一個一眼就能理解的kubernetes“整體全過程”文章。 建議看這篇文章可以結合kubernetes官網(www.kubernetes.io)的Tutorial進行演練,效果很好。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hadoop系統 hdfs 命令列操作
轉自:https://blog.csdn.net/sjhuangx/article/details/79796388 Hadoop檔案系統shell命令列表: https://hadoop.apache.org/docs/current/hadoop-project-dist/hado
shell 從檔案中讀取批量檔名並做命令列操作
222檔案內容: /home/zhangsuosheng/Desktop/9-30/9_30/1bak/1538291162.png /home/zhangsuosheng/Desktop/9-30/9_30/1bak/1538291212.png /home/zhangsuosheng/Deskto
HDFS基本命令列操作與簡單API使用
1.開啟叢集命令 start-dfs.sh 2.檢視幫助 hdfs dfs -help 3.檢視當前目錄資訊 hdfs dfs -ls / 4.從本地上傳檔案 hdfs dfs -put data.txt /wc/in 5.從hdfs下載
大資料之HBase命令列操作
1、課程簡介 本文章先會介紹HBase命令列,接著會介紹java程式碼對hbase中的表進行增刪改查。 本文章中所有命令均在CentOS-6.4-x86_64,hadoop-2.5.2,jdk1.8.0_152,zookeeper-3.4.11,hbase-1.2.6中執行通過,為減少linux許
命令列操作oracle,顯示英文而不是中文
在環境變數,而不是系統變數,平常總用系統變數,這次用環境變數可以解決中文顯示問題,增加環境變數,如下: 設定NLS_LANG為SIMPLIFIED CHINESE_CHINA.ZHS16GBK 具體操作如下圖: 右鍵我的電腦,選擇屬性按鈕 &nb
mysql 命令列操作(一)管理操作
1.查詢所有存在的資料庫 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysq