2018年02月25日 21:28:24 junshangshui 閱讀數:9738 標籤: mongodbmongodb安裝 更多linux
我的分類: mongodbsql
MongoDB是由C++編寫的NoSQL的分佈式文件數據庫,用的json格式的k-value存儲方式。mongodb
MongoDB官網 https://www.mongodb.com數據庫
1、下載和安裝json
下載完後文件爲mongodb-linux-x86_64-3.6.3.tgz,我的喜歡將它複製到centos中的usr目錄下。
在此目錄打個一個終端,輸入解壓命令windows
tar -xvzf mongodb-linux-x86_64-3.6.3.tgzcentos
再輸入命令將這個解壓後的文件夾更名 (爲未來方便使用,也可不用命令手動去更名)app
mv mongodb-linux-x86_64-3.6.3 /usr/mongodb分佈式
接着能夠刪除掉壓縮包了。
2、配置MongoDB
在/usr/mongodb/bin目錄下可看到有可執行程序。工具
接着配置環境變量到操做系統全局配置文件profile中,先點擊計算機,再打開etc目錄,搜索proflie文件,在最後一行加入export PATH=$PATH:/usr/mongodb/bin
保存並重啓CentOS7就生效了。
重啓後直接在桌面打開一個終端,輸入命令以下,先在/usr/mongodb目錄下新建一個名爲db的文件夾,用來存放數據庫。
接着在usr/mongodb目錄下新建一個名爲mongodb.conf的配置文件,寫入以下配置內容
port=27017 #端口
dbpath= /usr/mongodb/db #數據庫存文件存放目錄
logpath= /usr/mongodb/mongodb.log #日誌文件存放路徑
logappend=true #使用追加的方式寫日誌
fork=false #不以守護程序的方式啓用,即不在後臺運行
maxConns=100 #最大同時鏈接數
noauth=true #不啓用驗證
journal=true #每次寫入會記錄一條操做日誌(經過journal能夠從新構造出寫入的數據)。
#即便宕機,啓動時wiredtiger會先將數據恢復到最近一次的checkpoint點,而後重放後續的journal日誌來恢復。
storageEngine=wiredTiger #存儲引擎有mmapv一、wiretiger、mongorocks
bind_ip = 0.0.0.0 #這樣就可外部訪問了,例如從win10中去連虛擬機中的MongoDB
保存。而後輸入命令啓動mongod --config /usr/mongodb/mongodb.conf
打開mongodb.log文件,看到最後一行」waiting for connections on port 27017」就說明啓動成功了。
3、使用MongoDB桌面管理工具
在官網https://robomongo.org/ 下載Robo 3T
這裏下載windows版本的,而後去鏈接虛擬機中的MongoDB。
我下載後的文件名爲robo3t-1.2.1-windows-x86_64-3e50a65.exe
先要在CentOS7防火牆設置中開放27017端口
接着在個人Win10系統中裝好Robo這個管理工具,鏈接虛擬機中的MongoDB
鏈接後就能夠看默認有個startup_log這個系統日誌表。
4、用C#客戶端鏈接MongoDB
去官網https://docs.mongodb.com/ecosystem/drivers 查看使用說明
打開VS2017,新建一個.net core控制檯程序,從nuget中下載安裝MongoDB.Driver這個包,我下載是2.5版本的
寫入以下代碼
class Program
{
static void Main(string[] args)
{
//鏈接mongodb
var client = new MongoClient("mongodb://192.168.213.140:27017");
//獲取數據庫,若是不存在,將在第一次使用時建立。
var database = client.GetDatabase("testdb");
//獲取集合(至關於sqlserver中的表),若是不存在,將在第一次使用時建立。
var collection = database.GetCollection<Book>("BookTable");
//添加一條數據到此集合中
collection.InsertOne(new Book()
{
BookName = "bookname1"
});
////從這個集合讀取數據
//ExpressionFilterDefinition<Book> expr = new ExpressionFilterDefinition<Book>(item => item.BookName == "bookname1");
//var items = collection.Find<Book>(expr).ToList();
}
public class Book
{
[BsonId]
public int _id { get; set; }
[BsonElement("BookName")]
public string BookName { get; set; }
}
}
運行程序後,再打開桌面管理工具,能夠看到數據已成功插入到MongoDB中。