C# mongodb [上]

來源:互聯網
上載者:User

標籤:

概述

  MongoDB是一個高效能,開源,無模式的文檔型資料庫,使用C++開發。是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。他支援的資料結構非常鬆散,是類似json 的bjson 格式,因此可以儲存比較複雜的資料類型。MongoDB 最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。它是一個面向集合的,模式自由的文檔型資料庫。

  適用情境

  • 網站:MongoDB 非常適合即時的插入,更新與查詢,並具備網站即時資料儲存所需的複製及高度伸縮性。
  • 緩衝:由於效能很高,MongoDB 也適合作為資訊基礎設施的緩衝層。在系統重啟之後,由MongoDB 搭建的持久化緩衝層可以避免下層的資料來源過載。
  • 大尺寸、低價值的資料:使用傳統的關聯式資料庫儲存一些資料時可能會比較貴,在此之前,很多程式員往往會選擇傳統的檔案進行儲存。
  • 高伸縮性的情境:MongoDB 非常適合由數十或者數百台伺服器組成的資料庫。
  • 用於對象及JSON資料的儲存:MongoDB 的BSON資料格式非常適合文檔格式化的儲存及查詢。
Windows 安裝 MongoDB

1.在官網上下載MongoDB:【http://www.mongodb.org/downloads 】選擇對應的作業系統。下載來源:zip。

在下載MongoDB for Windows版本時官網會提示:如果您正在啟動並執行版本是Windows Server 2008 R2或Windows 7,請安裝修復補丁解決在Windows上使用記憶體對應檔問題。【補丁】

安裝包中包括:

Server-mongod.exe

Client -mongo.exe

監控工具- mongostat.exe,mongotop.exe

匯入匯出工具-mongodump.exe ,mongorestore.exe,mongoexport.exe,mongoimport.exe 等其他工具。

命令啟動MongoDB:

在安裝MongoDB時需要建立一個目錄來存放資料檔案。(目錄中不要帶中文或空格)。cmd,找到下載目錄,輸入已下命令:mongod --dbpath C:\Test\Data 【安裝方法和memcached,Redis差不多】

如果目錄中有空格,把整個目錄用雙引號包括: mongod --dbpath "C:\Program Files\mongodb\data"  。

設定檔啟動Mongodb:

我們把Mongodb所需要的配置資訊建立一個檔案(MongoDB.config)都在這個檔案裡面。然後啟動mongodb讀取設定檔資訊:config C:\Test\mongodb.config

mongodb.config配置資訊:

dbpath=C:\Test\Data
logpath=C:\Test\Log\log.txt

執行讀取配置資訊如有報錯用管理員身份開啟cmd命令列。config設定路徑中不要包括中文。

測試服務是否啟動正常。在瀏覽器中輸入:http://localhost:27017/

證明啟動成功。

MongoDB做為Window服務:

把MongoDB做為Window服務作業

進入MongoDB用戶端(Shell)。cmd找到安裝目錄輸入:mongo

 connection to:test 進入MongoDB用戶端自動給我們串連到Test資料庫。

MongoDB用戶端基本操作

MongoDB建立資料庫:

資料庫建立文法:

use DATABASE_NAME

新建立的資料庫列表為空白。要顯示資料庫,需要把它插入至少一個檔案。

insert()基本文法:

db.COLLECTION_NAME.insert(document)

將文檔資料存放區到"ck_test_db" 資料庫中的 "student" 集合中

MongoDB是文檔的資料結構和JSON基本一樣。所有儲存在集合中的資料都是BSON格式,BSON是一種類json的一種二進位形式的儲存格式,簡稱Binary JSON。

find()基本文法:

db.COLLECTION_NAME.find()

find() 方法將在非結構化的方式顯示所有的檔案。

pretty() 方法:

db.COLLECTION_NAME.find().pretty()

查詢條件:

--MongoDB中AND db.COLLECTION_NAME.find({key1:value1, key2:value2}).pretty()--MongoDB中ORdb.COLLECTION_NAME.find(   {      $or: [         {key1: value1}, {key2:value2}      ]   }).pretty()

要查詢檔案的一些條件的基礎上,可以使用下面的操作

操作 文法 例子 RDBMS 等同
Equality {<key>:<value>} db.mycol.find({"by":"tutorials point"}).pretty() where by = ‘tutorials point‘
Less Than {<key>:{$lt:<value>}} db.mycol.find({"likes":{$lt:50}}).pretty() where likes < 50
Less Than Equals {<key>:{$lte:<value>}} db.mycol.find({"likes":{$lte:50}}).pretty() where likes <= 50
Greater Than {<key>:{$gt:<value>}} db.mycol.find({"likes":{$gt:50}}).pretty() where likes > 50
Greater Than Equals {<key>:{$gte:<value>}} db.mycol.find({"likes":{$gte:50}}).pretty() where likes >= 50
Not Equals {<key>:{$ne:<value>}} db.mycol.find({"likes":{$ne:50}}).pretty() where likes != 50

 

update()基本文法:

db.COLLECTION_NAME.update( criteria, objNew, upsert, multi )

update()函數接受以下四個參數:
criteria : update的查詢條件,類似sql update查詢內where後面的。
objNew : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的
upsert : 這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
multi : mongodb預設是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。

刪除資料:

--刪除指定資料db.COLLECTION_NAME.remove( DELLETION_CRITTERIA)--刪除所有資料db.COLLECTION_NAME.remove()--刪除集合和集合中所有資料db.COLLECTION_NAME.drop()

drop就不在示範。

MongoDB的一些基本操作本章就分享到這裡,下一章節會分享在C#中使用mongodb的一些基本操作。有意可以繼續關注噢。

感覺分享的內容對你有一絲絲協助請點個贊噢...呵呵..

C# mongodb [上]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.