国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【MongoDB】mongodb安裝及常用操作命令

fish / 537人閱讀

摘要:二中常用命令顯示數(shù)據(jù)庫列表顯示當(dāng)前數(shù)據(jù)庫中的集合類似關(guān)系數(shù)據(jù)庫中的表顯示用戶切換當(dāng)前數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在則創(chuàng)建數(shù)據(jù)庫。注意操作同時可以創(chuàng)建數(shù)據(jù)庫,如果一個不存在的數(shù)據(jù)庫名,則執(zhí)行后,會創(chuàng)建對應(yīng)數(shù)據(jù)庫。如果指定字段,則會更新該的數(shù)據(jù)。

.......................................................................................
環(huán)境:centos7
Ip: 172.16.200.48
..............................................................................................

一、Mongodb的安裝與啟動 1、mongo的安裝 步驟 1、下載:
# cd /usr/local/src/
# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.3.tgz   
# tar -zxvf mongodb-linux-x86_64-rhel70-3.4.3.tgz 
步驟 2、配置環(huán)境變量
# vim /etc/profile
添加一下內(nèi)容:
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
步驟 3、查看mongodb版本信息?
# mongod -v

安裝成功。

2、mongo的啟動 步驟 4、創(chuàng)建數(shù)據(jù)庫目錄(MongoDB需要自建數(shù)據(jù)庫文件夾)
# mkdir -p /data/mongodb
# mkdir -p /data/mongodb/log
# touch /data/logs/mongodb/mongodb.log   
步驟 5、添加配置文件

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

# vim /etc/mongodb.conf
配置文件參數(shù)說明:
mongodb的參數(shù)說明:
?--dbpath 數(shù)據(jù)庫路徑(數(shù)據(jù)文件)
?--logpath 日志文件路徑
?--master 指定為主機器
?--slave 指定為從機器
?--source 指定主機器的IP地址
?--pologSize 指定日志文件大小不超過64M.因為resync是非常操作量大且耗時,最好通過設(shè)置一個足夠大的oplogSize來避免resync(默認的 oplog大小是空閑磁盤大小的5%)。
?--logappend 日志文件末尾添加
?--port 啟用端口號
?--fork 在后臺運行
?--only 指定只復(fù)制哪一個數(shù)據(jù)庫
?--slavedelay 指從復(fù)制檢測的時間間隔
?--auth 是否需要驗證權(quán)限登錄(用戶名和密碼)
配置文件內(nèi)容:
   dbpath=/data/mongodb
   logpath=/data/logs/mongodb/mongodb.log
   logappend=true
   port=27017
   fork=true
   ##auth = true # 先關(guān)閉, 創(chuàng)建好用戶在啟動
步驟 6、通過配置文件啟動
# mongod -f /etc/mongodb.conf           ##啟動

出現(xiàn)successfully表示啟動成功了。
說明
MongoDB的啟動:
不建議用service?mongod?start或者chkconfig?mongod?on來啟動MongoDB,因為mongod每次啟動需要帶參數(shù),不然會造成錯誤;?
建議用mongod命令來啟動,先設(shè)置好配置文件/etc/mongod.conf后,每次手動用命令啟動:mongod -f /etc/mongodb.conf
或者設(shè)置開機重啟: echo?“mongod?–f?/etc/mongod.conf”?>>/etc/rc.d/rc.local
MongoDB的關(guān)閉
不建議使用強制關(guān)閉MongoDB: service?mongod?stop
推薦使用:從mongodb的admin中關(guān)閉

>?use?admin???
switched?to?db?admin????
>?db.shutdownServer()????
server?should?be?down...

或者mongod?--shutdown
使用shutdownServer關(guān)閉MongoDB,如有MongoDB主從服務(wù)器,則在服務(wù)關(guān)閉前同步主從服務(wù)器;強制關(guān)閉則不會;

步驟 7、進入mongodb的后臺管理shell
# cd /usr/local/mongodb/bin
# ./mongo
步驟 8、創(chuàng)建數(shù)據(jù)庫
> use test        創(chuàng)建數(shù)據(jù)庫test

使用use DATABASE_NAME創(chuàng)建一個數(shù)據(jù)庫。如果數(shù)據(jù)庫不存在,則創(chuàng)建數(shù)據(jù)庫,否則切換到指定數(shù)據(jù)庫。

二、Mongo中常用命令
[root@snails ~]# ps -ef|grep mongod
[root@snails ~]# mongo --host=127.0.0.1 --port=27017
MongoDB shell version: 3.2.7
connecting to: 127.0.0.1:27017/test
> show dbs  #顯示數(shù)據(jù)庫列表 
> show collections  #顯示當(dāng)前數(shù)據(jù)庫中的集合(類似關(guān)系數(shù)據(jù)庫中的表)
> show users  #顯示用戶
> use   #切換當(dāng)前數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在則創(chuàng)建數(shù)據(jù)庫。 
> db.help()  #顯示數(shù)據(jù)庫操作命令,里面有很多的命令 
> db.foo.help()  #顯示集合操作命令,同樣有很多的命令,foo指的是當(dāng)前數(shù)據(jù)庫下,一個叫foo的集合,并非真正意義上的命令 
> db.foo.find()  #對于當(dāng)前數(shù)據(jù)庫中的foo集合進行數(shù)據(jù)查找(由于沒有條件,會列出所有數(shù)據(jù)) 
> db.foo.find( { a : 1 } )  #對于當(dāng)前數(shù)據(jù)庫中的foo集合進行查找,條件是數(shù)據(jù)中有一個屬性叫a,且a的值為1
> db.dropDatabase()  #刪除當(dāng)前使用數(shù)據(jù)庫
> db.cloneDatabase("127.0.0.1")   #將指定機器上的數(shù)據(jù)庫的數(shù)據(jù)克隆到當(dāng)前數(shù)據(jù)庫
> db.copyDatabase("mydb", "temp", "127.0.0.1")  #將本機的mydb的數(shù)據(jù)復(fù)制到temp數(shù)據(jù)庫中
> db.repairDatabase()  #修復(fù)當(dāng)前數(shù)據(jù)庫
> db.getName()  #查看當(dāng)前使用的數(shù)據(jù)庫,也可以直接用db
> db.stats()     #顯示當(dāng)前db狀態(tài)
> db.version()   #當(dāng)前db版本
> db.getMongo()  #查看當(dāng)前db的鏈接機器地址
> db.serverStatus()  #查看數(shù)據(jù)庫服務(wù)器的狀態(tài)
三、Shell中的基本操作:增刪改查 1. # mongo

啟動mongodb數(shù)據(jù)庫

2. > db

可以查看db當(dāng)前指向哪個數(shù)據(jù)庫

3. 進入數(shù)據(jù)庫 > use test;

使用use DATABASE_NAME使用use 數(shù)據(jù)庫名就可以切換全局變量db當(dāng)前指向的數(shù)據(jù)庫。注意:use操作同時可以創(chuàng)建數(shù)據(jù)庫,如果use+一個不存在的數(shù)據(jù)庫名,則use執(zhí)行后,MongoDB會創(chuàng)建對應(yīng)數(shù)據(jù)庫。

4. 查詢數(shù)據(jù)庫 >?show?dbs; (要顯示數(shù)據(jù)庫必須插入至少一條文檔) 5. 刪除數(shù)據(jù)庫 > db.dropDatabase(); 6.創(chuàng)建、刪除集合

createCollection() 方法
db.createCollection(name, options)
在命令中, name 是要創(chuàng)建的集合的名稱. Options 是一個文件,用于指定配置的集合
刪除集合:drop() 方法
db.COLLECTION_NAME.drop() 是用來從數(shù)據(jù)庫中刪除一個集合

#創(chuàng)建集合
#進入數(shù)據(jù)庫mongos>?use?test;
mongos>?db.createCollection("mycollection")
{ "ok" : 1 }
mongos>?show collections;   #查看集合
mycollection

#刪除集合
#進入數(shù)據(jù)庫mongos>?use?testdb;
mongos>?show collections;
mycollection
mongos>?db.mycollection.drop();
true
mongos>?show collections;
7. 插入文檔

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

   db.COLLECTION_NAME.insert(document)

插入文檔

> use test
switched to db test
> db.col.insert({name:"morris",age:22})
WriteResult({ "nInserted" : 1 })

以上實例中col是集合名,如果該集合不在該數(shù)據(jù)庫中,MongoDB會自動創(chuàng)建該集合并插入文檔。
查看已插入的文檔
> db.col.find()
{ "_id" : ObjectId("56e12c22de2a8692a3099065"), "name" : "morris", "age" : 22 }
在我們插入文檔的時候,如果我們沒有為該文檔指定_id,mongodb將會為我們的文檔自動創(chuàng)建一個不會重復(fù)的ObjectId

有條件的查詢已插入文檔

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

定義變量插入文檔

> doc={name:"jack",age:20}
{ "name" : "jack", "age" : 20 }
> db.col.insert(doc)
WriteResult({ "nInserted" : 1 })
> db.col.find()
{ "_id" : ObjectId("56e12c22de2a8692a3099065"), "name" : "morris", "age" : 22 }
{ "_id" : ObjectId("56e12f49de2a8692a3099068"), "name" : "jack", "age" : 20 }
插入文檔也可以使用db.col.save(document)命令。如果不指定_id 字段save()方法類似于insert()方法。如果指定_id字段,則會更新該_id的數(shù)據(jù)。

插入多個文檔

如果我們在insert中傳入了多個文檔,mongodb只會插入第一個文檔,下面的代碼中只插入了第一個文檔。
> db.user.find()
> db.user.insert({name:"user1"},{name:"user2"})?
> db.user.find()
{ "_id" : ObjectId("519cd757f83727a8baf0a8e2"), "name" : "user1" }
如果我們想一次插入多個文檔,可以將多個文檔組合成一個數(shù)組,這樣就能夠插入成功了,例子代碼如下:
> db.user.find()
> db.user.insert([{name:"user1"},{name:"user2"}])
> db.user.find()
{ "_id" : ObjectId("519cd842f83727a8baf0a8e3"), "name" : "user1" }
{ "_id" : ObjectId("519cd842f83727a8baf0a8e4"), "name" : "user2" }
?我們可以使用javascript批量插入數(shù)據(jù)。由于mongodb shell簡單的說就是一個javascript shell所以javascript代碼可以在mongodb shell中運行,所以我們可以使用javascript代碼進行批量插入數(shù)據(jù),例如我們插入10個用戶到user集合中,代碼如下:
> for(i=1;i<=10;i++){
... db.user.insert({_id:i,name:"user"+i,age:10+i})
... }
8.更新文檔
#顯示集合文檔
mongos>?db.col.find();
{?"_id"?:?ObjectId("55113e5477eaee1608881c84"),?"name"?:?"antian"?}
#更新文檔
mongos>?db.col.update({"name":"antian"},{"name":"wuhan"});
#顯示集合文檔
mongos>?db.col.find();
{?"_id"?:?ObjectId("55113e5477eaee1608881c84"),?"name"?:?"wuhan"?}
9.刪除文檔
#刪除文檔內(nèi)容
mongos>?db.col.remove({"name":"antian"});
#刪除集合:db.col.drop();
10.限制記錄
 mongos>?db.col.find({},{"sip":1,_id:0}).limit(2);
11.排序文檔
降序 mongos>?db.col.find({},{"age":1,_id:0}).sort({"age":-1});
升序 mongos>?db.col.find({},{"age":1,_id:0}).sort({"age":1});
12.創(chuàng)建索引
 mongos>?db.col.ensureIndex({"id":1})

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/19098.html

相關(guān)文章

  • Mac下安裝MongoDB 使用教程

    摘要:瀏覽器下輸入如果能正常顯示數(shù)據(jù)庫的信息,則表示啟動成功。集合名可以是滿足下列條件的條件集合名不能是空字符串。方法結(jié)果顯示在一個格式化的方式,可以使用方法方法要限制中的記錄,需要使用方法。命令的基本語法如下恢復(fù)數(shù)據(jù)恢復(fù)備份數(shù)據(jù)使用的命令。 概念 MongoDB 是一個跨平臺的,面向文檔的數(shù)據(jù)庫,提供高性能,高可用性和可擴展性方便。 MongoDB 工作在收集和文件的概念。 什么是No...

    wenhai.he 評論0 收藏0
  • Mac下安裝MongoDB 使用教程

    摘要:瀏覽器下輸入如果能正常顯示數(shù)據(jù)庫的信息,則表示啟動成功。集合名可以是滿足下列條件的條件集合名不能是空字符串。方法結(jié)果顯示在一個格式化的方式,可以使用方法方法要限制中的記錄,需要使用方法。命令的基本語法如下恢復(fù)數(shù)據(jù)恢復(fù)備份數(shù)據(jù)使用的命令。 概念 MongoDB 是一個跨平臺的,面向文檔的數(shù)據(jù)庫,提供高性能,高可用性和可擴展性方便。 MongoDB 工作在收集和文件的概念。 什么是No...

    A Loity 評論0 收藏0
  • MongoDB 入門教程

    摘要:可選,拋出異常的級別。示例教程更新一條數(shù)據(jù)標(biāo)題。命令行下執(zhí)行進入數(shù)據(jù)庫進入庫可查看當(dāng)前庫用戶列表執(zhí)行新建用戶設(shè)置賬戶密碼,并指定級別。重啟服務(wù)重新進入數(shù)據(jù)庫,發(fā)現(xiàn)命令無法執(zhí)行,報權(quán)限不足錯誤。命令可以正常執(zhí)行。 1.MongoDB 簡介 MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。在高負載的情況下,添加更多的節(jié)點,可以保證服務(wù)器性能。MongoDB ...

    Vicky 評論0 收藏0

發(fā)表評論

0條評論

fish

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<