Inhaltsverzeichnis
MongoDB驱动种类介绍" >MongoDB驱动种类介绍
使用MongoDB官方驱动操作数据库" >使用MongoDB官方驱动操作数据库
添加引用,将上面两个DLL引入到项目里面" >添加引用,将上面两个DLL引入到项目里面
向代码中引入命名空间" >向代码中引入命名空间
获得数据库连接服务" >获得数据库连接服务
获得指定数据库对象引用" >获得指定数据库对象引用
获得指定集合,如果数据库中没有,则会新建一个" >获得指定集合,如果数据库中没有,则会新建一个
总结" >总结
Heim Datenbank MySQL-Tutorial MongoDB增删查改

MongoDB增删查改

Jun 07, 2016 pm 03:54 PM
mongodb

MongoDB驱动种类介绍 1. MongoDB官方驱动:mongo-csharp-driver,下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 2. 第三方驱动samus,这是一款使用使用较多的驱动,更新频率比较快。

MongoDB驱动种类介绍

1. MongoDB官方驱动:mongo-csharp-driver,下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads

2. 第三方驱动samus,这是一款使用使用较多的驱动,更新频率比较快,samus驱动除了支持一般形式的操作之外,还支持Linq 和Lambda 表达式。下载地址:https://github.com/samus/mongodb-csharp。
两个mongodb驱动对mongodb数据库的操作流程基本相同,只不过在实现方式上有所差异,如samus驱动除了支持一般的形式操作之外,还支持Linq和Lambda表达方式。

使用MongoDB官方驱动操作数据库

解压缩包得到如下两个文件:
MongoDB.Bson.dll :序列化、Json相关

MongoDB.Driver.dll :mongodb驱动

添加引用,将上面两个DLL引入到项目里面

向代码中引入命名空间

<span style="font-size: 14px;">using MongoDB.Bson;<br/>using MongoDB.Driver;<br/></span>
Nach dem Login kopieren

获得数据库连接服务

<span style="font-size: 14px;">string  connectionString  =   " mongodb://localhost " ; //mongodb://[username:password@]hostname[:port][/[database][?options]]<br/>MongoServer server  =  MongoServer.Create(connectionString);//  连接到一个MongoServer上<br/></span>
Nach dem Login kopieren

获得指定数据库对象引用

<span style="font-size: 14px;">MongoDatabase database = server.GetDatabase("test"); // "test" 是数据库名称<br/></span>
Nach dem Login kopieren

获得指定集合,如果数据库中没有,则会新建一个

<span style="font-size: 14px;">MongoCollection col = db.GetCollection("Users");//Users集合名<br/></span>
Nach dem Login kopieren

插入数据到数据库

<span style="font-size: 14px;">public void Insert()<br/>{<br/>    //创建数据库链接<br/>MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);<br/>    //获得数据库test<br/>MongoDatabase db = server.GetDatabase(dbName);<br/>    Users users = new Users();<br/>    users.Name = "test";<br/>    users.Sex = "man";<br/>    //获得Users集合,如果数据库中没有,先新建一个<br/>MongoCollection col = db.GetCollection("Users");<br/>    //执行插入操作<br/>col.Insert(users);<br/>}<br/></span>
Nach dem Login kopieren

更新数据

<span style="font-size: 14px;">public void Update()<br/>{<br/>    //创建数据库链接<br/>MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);<br/>    //获得数据库test<br/>MongoDatabase db = server.GetDatabase(dbName);<br/>    //获取Users集合<br/>MongoCollection col = db.GetCollection("Users");<br/>    //定义获取&ldquo;Name&rdquo;值为&ldquo;test&rdquo;的查询条件<br/>var query = new QueryDocument { { "Name", "test" } };<br/>    //定义更新文档<br/>var update = new UpdateDocument { { "$set", new QueryDocument { { "Sex", "wowen" } } } };<br/>    //执行更新操作<br/>col.Update(query, update);<br/>}<br/></span>
Nach dem Login kopieren

删除数据

<span style="font-size: 14px;">public void Delete()<br/>{<br/>    //创建数据库链接<br/>MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);<br/>    //获得数据库test<br/>MongoDatabase db = server.GetDatabase(dbName);<br/>    //获取Users集合<br/>MongoCollection col = db.GetCollection("Users");<br/>    //定义获取&ldquo;Name&rdquo;值为&ldquo;test&rdquo;的查询条件<br/>var query = new QueryDocument { { "Name", "test" } };<br/>    //执行删除操作<br/>col.Remove(query);<br/>}<br/></span>
Nach dem Login kopieren

查询数据

<span style="font-size: 14px;">public void Query()<br/>{<br/>    //创建数据库链接<br/>MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);<br/>    //获得数据库test<br/>MongoDatabase db = server.GetDatabase(dbName);<br/>    //获取Users集合<br/>MongoCollection col = db.GetCollection("Users");<br/>    //定义获取&ldquo;Name&rdquo;值为&ldquo;test&rdquo;的查询条件<br/>var query = new QueryDocument { { "Name", "test" } };<br/>    //查询全部集合里的数据<br/>var result1 = col.FindAllAs();<br/>    //查询指定查询条件的第一条数据,查询条件可缺省。<br/>var result2 = col.FindOneAs();<br/>    //查询指定查询条件的全部数据<br/>var result3 = col.FindAs(query);<br/>} <br/></span>
Nach dem Login kopieren

总结

有两种使用集合的方法:使用 BsonDocument 对象模型、 使用自己的实体类。本文主要介绍 使用实体。 如果数据格式很随意,很难或不可能定义成实体类的话,那就使用 BsonDocument 对象模型。由于使用自己的实体类更容易得多,并且确定使用实体, 你的实体类必须有以下要求:具有无参构造函数 , 对于要存储在数据库里的数据,需定义公共的读/写字段或属性。如果实体类将作为根级文档,那它必须包含一个Id字段或属性(通常命名为“Id”,即使有需要你可以重写它)。通常Id的类型为ObjectId。

更多相关教程请访问  MySQL视频教程

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Unterschied zwischen NodeJS und VueJS Der Unterschied zwischen NodeJS und VueJS Apr 21, 2024 am 04:17 AM

Node.js ist eine serverseitige JavaScript-Laufzeitumgebung, während Vue.js ein clientseitiges JavaScript-Framework zum Erstellen interaktiver Benutzeroberflächen ist. Node.js wird für die serverseitige Entwicklung verwendet, beispielsweise für die Entwicklung von Back-End-Service-APIs und die Datenverarbeitung, während Vue.js für die clientseitige Entwicklung verwendet wird, beispielsweise für Single-Page-Anwendungen und reaktionsfähige Benutzeroberflächen.

Was tun, wenn Navicat abläuft? Was tun, wenn Navicat abläuft? Apr 23, 2024 pm 12:12 PM

Zu den Lösungen zur Behebung von Navicat-Ablaufproblemen gehören: Erneuern der Lizenz; Deaktivieren der automatischen Updates; Wenden Sie sich an den Navicat-Kundendienst.

Ist es schwierig, NodeJS im Frontend zu lernen? Ist es schwierig, NodeJS im Frontend zu lernen? Apr 21, 2024 am 04:57 AM

Für Front-End-Entwickler hängt die Schwierigkeit, Node.js zu erlernen, von ihrer JavaScript-Grundlage, ihrer serverseitigen Programmiererfahrung, ihrer Vertrautheit mit der Befehlszeile und ihrem Lernstil ab. Die Lernkurve umfasst Module für Einsteiger und Fortgeschrittene, die sich auf grundlegende Konzepte, serverseitige Architektur, Datenbankintegration und asynchrone Programmierung konzentrieren. Insgesamt ist das Erlernen von Node.js für Entwickler, die über solide Kenntnisse in JavaScript verfügen und bereit sind, Zeit und Mühe zu investieren, nicht schwierig, aber für diejenigen, denen es an einschlägiger Erfahrung mangelt, müssen möglicherweise bestimmte Herausforderungen bewältigt werden.

Nodejs Front-End- und Back-End-Unterscheidung Nodejs Front-End- und Back-End-Unterscheidung Apr 21, 2024 am 03:43 AM

Node.js kann sowohl für das Front-End (Verwaltung der Benutzeroberfläche und Interaktionen) als auch für das Back-End (Verwaltung von Logik und Daten) verwendet werden. Das Front-End verwendet HTML-, CSS- und JavaScript-Frameworks, während das Front-End das Node.js-Framework, die Datenbank und die Cloud-Dienste verwendet. Der Fokus ist unterschiedlich (das Front-End konzentriert sich auf das Erlebnis, das Back-End konzentriert sich auf die Funktionalität), die Betriebsumgebung ist unterschiedlich (das Front-End befindet sich im Browser, das Back-End befindet sich auf dem Server) und die Tools sind unterschiedlich (das Front-End und das Back-End verwenden unterschiedliche Code-Kompilierungs- und Verpackungs-Tool-Sets), obwohl beide JavaScript verwenden, aber mit Zugriff auf unterschiedliche APIs und Bibliotheken.

So verbinden Sie Navicat mit Mongodb So verbinden Sie Navicat mit Mongodb Apr 24, 2024 am 11:27 AM

Um mit Navicat eine Verbindung zu MongoDB herzustellen, müssen Sie: Navicat installieren. Eine MongoDB-Verbindung erstellen: a. Geben Sie den Verbindungsnamen, die Hostadresse und den Port ein. b. Geben Sie die Authentifizierungsinformationen ein (falls erforderlich). Überprüfen Sie die Verbindung Speichern Sie die Verbindung

Was sind die am häufigsten verwendeten Module in NodeJS? Was sind die am häufigsten verwendeten Module in NodeJS? Apr 21, 2024 am 04:34 AM

Zu den am häufigsten verwendeten Modulen in Node.js gehören: Dateisystemmodul für Dateioperationen Netzwerkmodul für Netzwerkkommunikation Stream-Modul zur Verarbeitung von Datenströmen Datenbankmodul zur Interaktion mit Datenbanken Andere Hilfsmodule wie Verschlüsselung, Abfragezeichenfolgen, String-Analyse und HTTP-Framework

Welche Datenbank eignet sich für NodeJS? Welche Datenbank eignet sich für NodeJS? Apr 21, 2024 am 05:06 AM

Bei Node.js-Anwendungen hängt die Auswahl einer Datenbank von den Anwendungsanforderungen ab. Die NoSQL-Datenbanken MongoDB bieten Flexibilität, Redis bietet hohe Parallelität, Cassandra verarbeitet Zeitreihendaten und Elasticsearch ist auf die Suche spezialisiert. Die SQL-Datenbank MySQL bietet eine hervorragende Leistung, PostgreSQL ist reich an Funktionen, SQLite ist leichtgewichtig und Oracle Database ist umfassend. Berücksichtigen Sie bei der Auswahl Datentypen, Abfragen, Leistung, Transaktionalität, Verfügbarkeit, Lizenzierung und Kosten.

Was nützt net4.0? Was nützt net4.0? May 10, 2024 am 01:09 AM

.NET 4.0 wird zum Erstellen einer Vielzahl von Anwendungen verwendet und bietet Anwendungsentwicklern umfangreiche Funktionen, darunter objektorientierte Programmierung, Flexibilität, leistungsstarke Architektur, Cloud-Computing-Integration, Leistungsoptimierung, umfangreiche Bibliotheken, Sicherheit, Skalierbarkeit, Datenzugriff und Mobilgeräte Entwicklungsunterstützung.

See all articles