程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# mongodb [上],

C# mongodb [上],

編輯:C#入門知識

C# mongodb [上],


概述

  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()

db.COLLECTION_NAME.find().pretty()

查詢條件:

--MongoDB中AND 
db.COLLECTION_NAME.find({key1:value1, key2:value2}).pretty()

--MongoDB中OR
db.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的一些基本操作。有意可以繼續關注噢。

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved