国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#使用MongoDB-第三章 索引的管理

這篇具有很好參考價(jià)值的文章主要介紹了C#使用MongoDB-第三章 索引的管理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

索引管理接口:IMongoIndexManager<TDocument>

要進(jìn)行集合索引的管理,需要獲得IMongoIndexManager<TDocument>實(shí)例對象,這個實(shí)例對象可以從集合對象的Indexes屬性獲取。

  • IMongoIndexManager<TDocument> IndexesIMongoCollection<TDocument>的實(shí)例方法,獲取集合的索引管理對象。

一、索引的創(chuàng)建

索引的配置模型

CreateIndexModel CreateIndexModel(IndexKeysDefinition<TDocument> keys[, CreateIndexOptions options])CreateIndexModel類的構(gòu)造函數(shù)。

  • keys:設(shè)置索引的字段,可以直接使用Json字符串,例如{Name:1, Age: -1}
  • options:索引的一些配置選項(xiàng),CreateIndexOptions類型,其中有幾個常用的屬性設(shè)置。
    • Name:索引的名稱。
    • Unique:是否創(chuàng)建唯一索引,創(chuàng)建時,如果集合中已有數(shù)據(jù),那么唯一索引的字段值不能重復(fù),否則報(bào)異常。默認(rèn)為false
    • Background:默認(rèn)情況下創(chuàng)建索引時會阻塞線程,設(shè)置為true時表示后臺進(jìn)行創(chuàng)建,不阻塞線程。
var options = new CreateIndexOptions { Name="Age_Name_Index", Unique=true };
var indexModel = new CreateIndexModel<Student>("{Age:1, Name:-1}", options);

1、創(chuàng)建單個索引

Task<string> CreateOneAsync(CreateIndexModel<TDocument> model)IMongoIndexManager的實(shí)例方法,異步創(chuàng)建一個索引,并返回索引的名稱。

string CreateOne(CreateIndexModel<TDocument> model)IMongoIndexManager的實(shí)例方法,同步創(chuàng)建一個索引,并返回索引的名稱。

  • model:創(chuàng)建索引的配置模型,可以用于設(shè)置索引的字段和索引的選項(xiàng)。
const string conStr = "mongodb://moo:123456@127.0.0.1:27017/FirstMongo";
var client = new MongoClient(conStr);
var studentCollection = client.GetDatabase("FirstMongo").GetCollection<Student>("Student");
var indexManager = studentCollection.Indexes;
var options = new CreateIndexOptions { Name="Age_Name_Index", Unique=true };
var indexModel = new CreateIndexModel<Student>("{Age:1, Name:-1}", options);
var indexName = indexManager.CreateOne(indexModel);

2、創(chuàng)建多個索引

IEnumerable<string> CreateManyAsync(IEnumerable<CreateIndexModel<TDocument>> models)IMongoIndexManager的實(shí)例方法,異步創(chuàng)建多個索引。

IEnumerable<string> CreateMany(IEnumerable<CreateIndexModel<TDocument>> models)IMongoIndexManager的實(shí)例方法,同步創(chuàng)建多個索引。

const string conStr = "mongodb://moo:123456@127.0.0.1:27017/FirstMongo";
var client = new MongoClient(conStr);
var studentCollection = client.GetDatabase("FirstMongo").GetCollection<Student>("Student");
var indexManager = studentCollection.Indexes;

var indexModel1 = new CreateIndexModel<Student>("{Age:1}", new CreateIndexOptions { Name="Age_Index"});
var indexModel2 = new CreateIndexModel<Student>("{Name:1}", new CreateIndexOptions { Name="Name_Index"});
var indexName = indexManager.CreateMany(new List<CreateIndexModel<Student>>() { indexModel1, indexModel2 });

二、刪除索引

DropOne(string indexName)IMongoIndexManager的實(shí)例方法,同步刪除指定索引。

DropOneAsync(string indexName)IMongoIndexManager的實(shí)例方法,異步刪除指定索引。

DropAll():同步刪除所有索引。

DropAllAsync():異步刪除所有索引。

const string conStr = "mongodb://moo:123456@127.0.0.1:27017/FirstMongo";
var client = new MongoClient(conStr);
var studentCollection = client.GetDatabase("FirstMongo").GetCollection<Student>("Student");
var indexManager = studentCollection.Indexes;
indexManager.DropAll();

三、查詢索引

const string conStr = "mongodb://moo:123456@127.0.0.1:27017/FirstMongo";
var client = new MongoClient(conStr);
var studentCollection = client.GetDatabase("FirstMongo").GetCollection<Student>("Student");
var bsons = studentCollection.Indexes.List().ToList();
foreach (var index in bsons)
{
    Console.WriteLine(index.ToJson());
}

C#使用MongoDB-第三章 索引的管理,C#操作數(shù)據(jù)庫,c#,mongodb,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-813573.html

到了這里,關(guān)于C#使用MongoDB-第三章 索引的管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【第三章 Python 機(jī)器學(xué)習(xí)入門之Series和DataFrame的創(chuàng)建、索引、切片、數(shù)據(jù)清洗、數(shù)據(jù)分析等】

    【第三章 Python 機(jī)器學(xué)習(xí)入門之Series和DataFrame的創(chuàng)建、索引、切片、數(shù)據(jù)清洗、數(shù)據(jù)分析等】

    第一章 Python 機(jī)器學(xué)習(xí)入門之Pandas庫的使用 第二章 Python 機(jī)器學(xué)習(xí)入門之NumPy庫的使用 第四章 Python 機(jī)器學(xué)習(xí)入門之?dāng)?shù)據(jù)可視化 第五章 Python 機(jī)器學(xué)習(xí)入門之機(jī)器學(xué)習(xí)算法 第六章 Python 機(jī)器學(xué)習(xí)入門之實(shí)戰(zhàn)項(xiàng)目 Series是一種一維數(shù)組,可以通過以下方式創(chuàng)建: 通過列表創(chuàng)建Ser

    2024年02月05日
    瀏覽(96)
  • 第三章 內(nèi)存管理 一、內(nèi)存的基礎(chǔ)知識

    第三章 內(nèi)存管理 一、內(nèi)存的基礎(chǔ)知識

    目錄 一、什么是內(nèi)存 二、有何作用? 三、常用數(shù)量單位 四、指令的工作原理 五、裝入方式 1、絕對裝入 2、可重定位裝入(靜態(tài)重定位) 3、動態(tài)運(yùn)行時裝入(動態(tài)重定位) 六、從寫程序到程序運(yùn)行 七、鏈接的三種方式 1、靜態(tài)鏈接 2、裝入時動態(tài)鏈接 3、運(yùn)行時動態(tài)鏈接

    2024年02月07日
    瀏覽(29)
  • 操作系統(tǒng)考試復(fù)習(xí)——第三章 預(yù)防死鎖 避免死鎖

    預(yù)防死鎖: 就是破壞死鎖產(chǎn)生的四個條件之一就行。 0.破壞互斥條件:由于互斥條件是非共享設(shè)備所必須的所以,不僅不能改變還需要保證。因此我們主要考慮剩下的三個條件。 1. 破壞 \\\"請求和保持\\\" 條件 請求和保持也就是系統(tǒng)已經(jīng)請求了一個資源它現(xiàn)在占有這個資源但是它

    2024年02月03日
    瀏覽(16)
  • Spring Security in Action 第三章 SpringSecurity管理用戶

    Spring Security in Action 第三章 SpringSecurity管理用戶

    本專欄將從基礎(chǔ)開始,循序漸進(jìn),以實(shí)戰(zhàn)為線索,逐步深入SpringSecurity相關(guān)知識相關(guān)知識,打造完整的SpringSecurity學(xué)習(xí)步驟,提升工程化編碼能力和思維能力,寫出高質(zhì)量代碼。希望大家都能夠從中有所收獲,也請大家多多支持。 專欄地址:SpringSecurity專欄 本文涉及的代碼都已

    2024年02月07日
    瀏覽(27)
  • 熟悉常用的HDFS操作(大數(shù)據(jù)技術(shù)原理與應(yīng)用-第三章實(shí)驗(yàn))

    熟悉常用的HDFS操作(大數(shù)據(jù)技術(shù)原理與應(yīng)用-第三章實(shí)驗(yàn))

    首先啟動Hadoop,命令如下: 在終端輸入如下命令,查看 hdfs dfs 總共支持哪些操作: 上述命令執(zhí)行后,會顯示如下的結(jié)果: 如果顯示 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ,說明環(huán)境變量 JAVA_LIBRARY_PATH 并未定義,首

    2024年02月01日
    瀏覽(20)
  • 【第三章 | 處理機(jī)調(diào)度與死鎖】《操作系統(tǒng) 慕課版》課后答案 + 復(fù)習(xí)

    【第三章 | 處理機(jī)調(diào)度與死鎖】《操作系統(tǒng) 慕課版》課后答案 + 復(fù)習(xí)

    目錄 【第三章】處理機(jī)調(diào)度與死鎖 | 本章概念 1.處理機(jī)調(diào)度概述 2.調(diào)度算法相關(guān)概念 3.實(shí)時調(diào)度相關(guān)概念 4.死鎖 5.資源分配圖 | 本章算法 1.周轉(zhuǎn)時間與帶權(quán)周轉(zhuǎn)時間的計(jì)算公式 2.調(diào)度算法 FCFS? SJF? PR? RR 3.實(shí)時調(diào)度算法 EDF 4.避免死鎖 —— 銀行家算法 | 課后簡答題 1.處理機(jī)調(diào)

    2024年02月01日
    瀏覽(25)
  • 計(jì)算機(jī)操作系統(tǒng)重點(diǎn)概念整理-第三章 進(jìn)程同步【期末復(fù)習(xí)|考研復(fù)習(xí)】

    計(jì)算機(jī)操作系統(tǒng)重點(diǎn)概念整理-第三章 進(jìn)程同步【期末復(fù)習(xí)|考研復(fù)習(xí)】

    計(jì)算機(jī)操作系統(tǒng)復(fù)習(xí)系列文章傳送門: 第一章 計(jì)算機(jī)系統(tǒng)概述 第二章 進(jìn)程管理 第三章 進(jìn)程同步 第四章 內(nèi)存管理 第五章 文件管理 第六章 輸出輸出I/O管理 給大家整理了一下計(jì)算機(jī)操作系統(tǒng)中的重點(diǎn)概念,以供大家期末復(fù)習(xí)和考研復(fù)習(xí)的時候使用。 參考資料是王道的計(jì)算

    2024年02月08日
    瀏覽(28)
  • 云計(jì)算工程師系列 Day03 第三章 權(quán)限管理(超詳細(xì) 持續(xù)更新中....)

    云計(jì)算工程師系列 Day03 第三章 權(quán)限管理(超詳細(xì) 持續(xù)更新中....)

    簡介:本章講述了Linux系統(tǒng)CentOS7中關(guān)于權(quán)限的相關(guān)概念。以及用戶和組的管理方法。 目標(biāo):熟悉并掌握權(quán)限的相關(guān)概念,以及用戶和組的管理方法。 (1)概述 賦于某個用戶或組能夠以何種方式訪問某個文件(圖片文件,視頻文件,普通文件) (2)權(quán)限對象 01.屬主(u):一般是

    2024年01月21日
    瀏覽(27)
  • 【云計(jì)算與虛擬化】第三章 實(shí)驗(yàn)二 在ESXi主機(jī)中安裝操作系統(tǒng)

    【云計(jì)算與虛擬化】第三章 實(shí)驗(yàn)二 在ESXi主機(jī)中安裝操作系統(tǒng)

    實(shí)驗(yàn)二? 在ESXi主機(jī)中安裝操作系統(tǒng) 為ESXi主機(jī)添加一塊數(shù)據(jù)存儲磁盤,大小為80G,磁盤名稱為:ESXi-loc-80G (截圖) ? 2.登錄vSphere Client,加載新添加的數(shù)據(jù)存儲磁盤,加載大小為60G,并將其格式化為VMFS5,標(biāo)識為ESXi-loc-80G, (截圖) 3.在ESXi主機(jī)中新建Windows7虛擬機(jī),虛擬機(jī)名

    2024年02月03日
    瀏覽(19)
  • SQL Server基礎(chǔ) 第三章 數(shù)據(jù)表基本操作(增刪改查,不允許保存更改異常!)

    SQL Server基礎(chǔ) 第三章 數(shù)據(jù)表基本操作(增刪改查,不允許保存更改異常!)

    往表里插數(shù)據(jù)我們現(xiàn)在有兩種方式 第一種是編輯直接修改,第二種是通過查詢來修改數(shù)據(jù) 兩種方法的區(qū)別 第一種更直接,如果數(shù)據(jù)量小那么直接改就好了,那如果數(shù)據(jù)量稍微龐大我們就需要用新建查詢來進(jìn)行表內(nèi)容的修改了?。。。。。?! 只需要新建查詢,然后新的查詢文

    2023年04月26日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包