成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MongoDB安裝及常用操作命令

數據庫 其他數據庫 MongoDB
本文最主要給大家分享一下關于MongoDB的安裝與啟動以及MongoDB的常用操作命令。

[[202858]]

環境:centos7

Ip: 172.16.200.48

..............................................................................................

一、Mongodb的安裝與啟動

1、mongo的安裝

步驟 1、下載:

  1. # cd /usr/local/src/ 
  2.  
  3. # wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.3.tgz 
  4.  
  5. # tar -zxvf mongodb-linux-x86_64-rhel70-3.4.3.tgz  

步驟 2、配置環境變量

  1. # vim /etc/profile 

添加一下內容:

  1. export MONGODB_HOME=/usr/local/mongodb 
  2.  
  3. export PATH=$MONGODB_HOME/bin:$PATH  

步驟 3、查看mongodb版本信息

  1. # mongod -v 

安裝成功。

2、mongo的啟動

步驟 4、創建數據庫目錄(MongoDB需要自建數據庫文件夾)

  1. # mkdir -p /data/mongodb 
  2.  
  3. # mkdir -p /data/mongodb/log 
  4.  
  5. # touch /data/logs/mongodb/mongodb.log  

步驟 5、添加配置文件

新建mongodb.conf配置文件, 通過這個配置文件進行啟動.

  1. # vim /etc/mongodb.conf 

配置文件參數說明:

mongodb的參數說明:


--dbpath 數據庫路徑(數據文件)


--logpath 日志文件路徑


--master 指定為主機器


--slave 指定為從機器


--source 指定主機器的IP地址


--pologSize 指定日志文件大小不超過64M.因為resync是非常操作量大且耗時,***通過設置一個足夠大的oplogSize來避免resync(默認的 oplog大小是空閑磁盤大小的5%)。


--logappend 日志文件末尾添加


--port 啟用端口號


--fork 在后臺運行


--only 指定只復制哪一個數據庫


--slavedelay 指從復制檢測的時間間隔


--auth 是否需要驗證權限登錄(用戶名和密碼)

配置文件內容:

dbpath=/data/mongodb

logpath=/data/logs/mongodb/mongodb.log

logappend=true

port=27017

fork=true

##auth = true # 先關閉, 創建好用戶在啟動

步驟 6、通過配置文件啟動

  1. # mongod -f /etc/mongodb.conf ##啟動 

出現successfully表示啟動成功了。

說明

MongoDB的啟動:

不建議用service mongod start或者chkconfig mongod on來啟動MongoDB,因為mongod每次啟動需要帶參數,不然會造成錯誤;

建議用mongod命令來啟動,先設置好配置文件/etc/mongod.conf后,每次手動用命令啟動:mongod -f /etc/mongodb.conf

或者設置開機重啟: echo “mongod –f /etc/mongod.conf” >>/etc/rc.d/rc.local

MongoDB的關閉

不建議使用強制關閉MongoDB: service mongod stop

推薦使用:從mongodb的admin中關閉

  1. > use admin 
  2.  
  3. switched to db admin 
  4.  
  5. > db.shutdownServer() 
  6.  
  7. server should be down...  

或者mongod --shutdown

使用shutdownServer關閉MongoDB,如有MongoDB主從服務器,則在服務關閉前同步主從服務器;強制關閉則不會;

步驟 7、進入mongodb的后臺管理shell

  1. # cd /usr/local/mongodb/bin 
  2.  
  3. # ./mongo  

步驟 8、創建數據庫

  1. > use test 創建數據庫test 

使用use DATABASE_NAME創建一個數據庫。如果數據庫不存在,則創建數據庫,否則切換到指定數據庫。

二、Mongo中常用命令

  1. [root@snails ~]# ps -ef|grep mongod 
  2.  
  3. [root@snails ~]# mongo --host=127.0.0.1 --port=27017 
  4.  
  5. MongoDB shell version: 3.2.7 
  6.  
  7. connecting to: 127.0.0.1:27017/test
  8. > show dbs #顯示數據庫列表

    > show collections #顯示當前數據庫中的集合(類似關系數據庫中的表)

    > show users #顯示用戶

    > use <db name> #切換當前數據庫,如果數據庫不存在則創建數據庫。

    > db.help() #顯示數據庫操作命令,里面有很多的命令

    > db.foo.help() #顯示集合操作命令,同樣有很多的命令,foo指的是當前數據庫下,一個叫foo的集合,并非真正意義上的命令

    > db.foo.find() #對于當前數據庫中的foo集合進行數據查找(由于沒有條件,會列出所有數據)

    > db.foo.find( { a : 1 } ) #對于當前數據庫中的foo集合進行查找,條件是數據中有一個屬性叫a,且a的值為1

    > db.dropDatabase() #刪除當前使用數據庫

    > db.cloneDatabase("127.0.0.1") #將指定機器上的數據庫的數據克隆到當前數據庫

    > db.copyDatabase("mydb", "temp", "127.0.0.1") #將本機的mydb的數據復制到temp數據庫中

    > db.repairDatabase() #修復當前數據庫

    > db.getName() #查看當前使用的數據庫,也可以直接用db

    > db.stats() #顯示當前db狀態

    > db.version() #當前db版本

    > db.getMongo() #查看當前db的鏈接機器地址

    > db.serverStatus() #查看數據庫服務器的狀態 

三、Shell中的基本操作:增刪改查

1. # mongo

啟動mongodb數據庫

2. > db

可以查看db當前指向哪個數據庫

3. 進入數據庫 > use test;

使用use DATABASE_NAME使用use 數據庫名就可以切換全局變量db當前指向的數據庫。注意:use操作同時可以創建數據庫,如果use+一個不存在的數據庫名,則use執行后,MongoDB會創建對應數據庫。

4. 查詢數據庫 > show dbs; (要顯示數據庫必須插入至少一條文檔)

5. 刪除數據庫 > db.dropDatabase();

6.創建、刪除集合

createCollection() 方法

db.createCollection(name, options)

在命令中, name 是要創建的集合的名稱. Options 是一個文件,用于指定配置的集合

刪除集合:drop() 方法

db.COLLECTION_NAME.drop() 是用來從數據庫中刪除一個集合

  1. #創建集合 
  2. #進入數據庫mongos> use test; 
  3. mongos> db.createCollection("mycollection"
  4. "ok" : 1 } 
  5. mongos> show collections;   #查看集合 
  6. mycollection 
  7.  
  8. #刪除集合 
  9. #進入數據庫mongos> use testdb; 
  10. mongos> show collections; 
  11. mycollection 
  12. mongos> db.mycollection.drop(); 
  13. true 
  14. mongos> show collections;  

7. 插入文檔

MongoDB使用insert()或save()方法向集合中插入文檔,語法如下:

  1. db.COLLECTION_NAME.insert(document) 

插入文檔

  1. > use test 
  2.  
  3. switched to db test 
  4.  
  5. > db.col.insert({name:'morris',age:22}) 
  6.  
  7. WriteResult({ "nInserted" : 1 })  

以上實例中col是集合名,如果該集合不在該數據庫中,MongoDB會自動創建該集合并插入文檔。

查看已插入的文檔

  1. > db.col.find() 
  2.  
  3. "_id" : ObjectId("56e12c22de2a8692a3099065"), "name" : "morris""age" : 22 }  

在我們插入文檔的時候,如果我們沒有為該文檔指定_id,mongodb將會為我們的文檔自動創建一個不會重復的ObjectId

有條件的查詢已插入文檔

  1. db.[集合名].find( <query>, <projection> ) 
  2.  
  3. # > db.user.find({name:"user2"}) ##查詢name為user2這條記錄 
  4.  
  5. # > db.user.find({name:"user2"},{age:1}); ## 查詢name為user2這條記錄的age字段  

定義變量插入文檔

  1. > doc={name:'jack',age:20} 
  2.  
  3. "name" : "jack""age" : 20 } 
  4.  
  5. > db.col.insert(doc) 
  6.  
  7. WriteResult({ "nInserted" : 1 }) 
  8.  
  9. > db.col.find() 
  10.  
  11. "_id" : ObjectId("56e12c22de2a8692a3099065"), "name" : "morris""age" : 22 } 
  12.  
  13. "_id" : ObjectId("56e12f49de2a8692a3099068"), "name" : "jack""age" : 20 }  

插入文檔也可以使用db.col.save(document)命令。如果不指定_id 字段save()方法類似于insert()方法。如果指定_id字段,則會更新該_id的數據。

插入多個文檔

如果我們在insert中傳入了多個文檔,mongodb只會插入***個文檔,下面的代碼中只插入了***個文檔。

  1. > db.user.find() 
  2.  
  3. > db.user.insert({name:"user1"},{name:"user2"}) 
  4.  
  5. > db.user.find() 
  6.  
  7. "_id" : ObjectId("519cd757f83727a8baf0a8e2"), "name" : "user1" }  

如果我們想一次插入多個文檔,可以將多個文檔組合成一個數組,這樣就能夠插入成功了,例子代碼如下:

  1. > db.user.find() 
  2.  
  3. > db.user.insert([{name:"user1"},{name:"user2"}]) 
  4.  
  5. > db.user.find() 
  6.  
  7. "_id" : ObjectId("519cd842f83727a8baf0a8e3"), "name" : "user1" } 
  8.  
  9. "_id" : ObjectId("519cd842f83727a8baf0a8e4"), "name" : "user2" }  

我們可以使用javascript批量插入數據。由于mongodb shell簡單的說就是一個javascript shell所以javascript代碼可以在mongodb shell中運行,所以我們可以使用javascript代碼進行批量插入數據,例如我們插入10個用戶到user集合中,代碼如下:

  1. for(i=1;i<=10;i++){ 
  2.  
  3. ... db.user.insert({_id:i,name:"user"+i,age:10+i}) 
  4.  
  5. ... }  

8.更新文檔

  1. #顯示集合文檔 
  2.  
  3. mongos> db.col.find(); 
  4.  
  5. "_id" : ObjectId("55113e5477eaee1608881c84"), "name" : "antian" } 
  6.  
  7. #更新文檔 
  8.  
  9. mongos> db.col.update({"name":"antian"},{"name":"wuhan"}); 
  10.  
  11. #顯示集合文檔 
  12.  
  13. mongos> db.col.find(); 
  14.  
  15. "_id" : ObjectId("55113e5477eaee1608881c84"), "name" : "wuhan" }  

9.刪除文檔

  1. #刪除文檔內容 
  2.  
  3. mongos> db.col.remove({"name":"antian"}); 
  4.  
  5. #刪除集合:db.col.drop();  

10.限制記錄

  1. mongos> db.col.find({},{"sip":1,_id:0}).limit(2); 

11.排序文檔

降序

  1. mongos> db.col.find({},{"age":1,_id:0}).sort({"age":-1}); 

升序

  1. mongos> db.col.find({},{"age":1,_id:0}).sort({"age":1}); 

12.創建索引

  1. mongos> db.col.ensureIndex({"id":1})   
責任編輯:龐桂玉 來源: segmentfault
相關推薦

2025-05-14 08:15:00

MongoDB操作命令Docker

2023-02-26 23:41:37

2023-02-24 07:40:11

2011-03-08 10:27:25

MongoDB介紹安裝

2021-02-05 07:48:06

Linux操作系統軟件

2011-10-27 10:30:55

CISCO配置命令

2022-11-01 08:02:04

2011-03-15 09:59:57

2011-03-15 09:02:01

IPtables常用命令

2011-01-06 14:22:50

2013-11-05 10:16:07

軟路由安裝設置

2010-03-19 10:08:01

linux 常用命令

2018-07-12 15:03:41

2022-09-06 07:56:36

ZookeeperAPI

2010-04-02 17:51:10

Oracle back

2010-05-18 10:07:01

MySQL命令

2010-04-06 18:06:18

CentOS系統

2023-02-07 07:56:05

Helm常用命令回滾

2010-01-12 16:17:30

Fedora yum

2010-06-01 16:46:38

Rsync 命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区三区 | 免费大黄视频 | 中文字幕日韩欧美 | 午夜影院在线播放 | 中文精品久久 | 久久午夜精品 | 91麻豆精品一区二区三区 | 天天久久 | 99精品视频在线观看 | 99久久婷婷国产综合精品电影 | 真人一级毛片 | 国产欧美一区二区三区久久人妖 | 日韩欧美国产精品一区二区三区 | 又爽又黄axxx片免费观看 | 成人免费在线视频 | 国产成人精品一区二区 | 亚洲狠狠爱一区二区三区 | 欧洲高清转码区一二区 | 三极网站 | 日韩区| 一区二区亚洲 | 久久综合一区二区三区 | 在线免费看黄 | 韩国av电影网| 中文字幕 亚洲一区 | 在线成人免费视频 | 观看av| 国产99久久精品 | 一级做a爰片久久毛片 | 精品婷婷| 伊人婷婷| 久久久免费观看视频 | 日韩精品一区二区不卡 | 狠狠伊人 | 久久久影院 | 91精品国产综合久久精品图片 | 欧美毛片免费观看 | 国产欧美精品一区二区色综合朱莉 | 欧美群妇大交群中文字幕 | 欧美一区在线视频 | 亚洲色图插插插 |