cari

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>

获得数据库连接服务

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

获得指定数据库对象引用

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

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

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

插入数据到数据库

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

更新数据

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

删除数据

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

查询数据

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

总结

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

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

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Terangkan sifat asid (atom, konsistensi, pengasingan, ketahanan).Terangkan sifat asid (atom, konsistensi, pengasingan, ketahanan).Apr 16, 2025 am 12:20 AM

Atribut asid termasuk atom, konsistensi, pengasingan dan ketahanan, dan merupakan asas reka bentuk pangkalan data. 1. Atomicity memastikan bahawa urus niaga sama ada berjaya atau gagal sepenuhnya. 2. Konsistensi memastikan pangkalan data tetap konsisten sebelum dan selepas transaksi. 3. Pengasingan memastikan bahawa urus niaga tidak mengganggu satu sama lain. 4. Kegigihan memastikan data disimpan secara kekal selepas penyerahan transaksi.

MySQL: Sistem Pengurusan Pangkalan Data vs Bahasa PengaturcaraanMySQL: Sistem Pengurusan Pangkalan Data vs Bahasa PengaturcaraanApr 16, 2025 am 12:19 AM

MySQL bukan sahaja sistem pengurusan pangkalan data (DBMS) tetapi juga berkait rapat dengan bahasa pengaturcaraan. 1) Sebagai DBMS, MySQL digunakan untuk menyimpan, menyusun dan mengambil data, dan mengoptimumkan indeks dapat meningkatkan prestasi pertanyaan. 2) Menggabungkan SQL dengan bahasa pengaturcaraan, tertanam dalam Python, menggunakan alat ORM seperti SQLalChemy dapat memudahkan operasi. 3) Pengoptimuman prestasi termasuk pengindeksan, pertanyaan, caching, perpustakaan dan bahagian meja dan pengurusan transaksi.

MySQL: Menguruskan data dengan arahan SQLMySQL: Menguruskan data dengan arahan SQLApr 16, 2025 am 12:19 AM

MySQL menggunakan arahan SQL untuk menguruskan data. 1. Perintah asas termasuk pilih, masukkan, kemas kini dan padam. 2. Penggunaan lanjutan melibatkan fungsi gabungan, subquery dan agregat. 3. Kesilapan umum termasuk isu sintaks, logik dan prestasi. 4. Petua Pengoptimuman termasuk menggunakan indeks, mengelakkan Pilih* dan menggunakan had.

Tujuan Mysql: Menyimpan dan Menguruskan Data dengan berkesanTujuan Mysql: Menyimpan dan Menguruskan Data dengan berkesanApr 16, 2025 am 12:16 AM

MySQL adalah sistem pengurusan pangkalan data relasi yang sesuai untuk menyimpan dan menguruskan data. Kelebihannya termasuk pertanyaan berprestasi tinggi, pemprosesan transaksi fleksibel dan jenis data yang kaya. Dalam aplikasi praktikal, MySQL sering digunakan dalam platform e-dagang, rangkaian sosial dan sistem pengurusan kandungan, tetapi perhatian harus dibayar kepada pengoptimuman prestasi, keselamatan data dan skalabilitas.

SQL dan MySQL: Memahami hubunganSQL dan MySQL: Memahami hubunganApr 16, 2025 am 12:14 AM

Hubungan antara SQL dan MySQL adalah hubungan antara bahasa standard dan pelaksanaan khusus. 1. SQL adalah bahasa standard yang digunakan untuk mengurus dan mengendalikan pangkalan data relasi, membolehkan penambahan data, penghapusan, pengubahsuaian dan pertanyaan. 2.MYSQL adalah sistem pengurusan pangkalan data tertentu yang menggunakan SQL sebagai bahasa pengendaliannya dan menyediakan penyimpanan dan pengurusan data yang cekap.

Terangkan peranan log redo innoDB dan membatalkan log.Terangkan peranan log redo innoDB dan membatalkan log.Apr 15, 2025 am 12:16 AM

InnoDB menggunakan redolog dan undologs untuk memastikan konsistensi dan kebolehpercayaan data. 1. Pengubahsuaian halaman data rekod untuk memastikan pemulihan kemalangan dan kegigihan transaksi. 2.UNDOLOGS merekodkan nilai data asal dan menyokong penggantian transaksi dan MVCC.

Apakah metrik utama untuk dicari dalam output yang dijelaskan (jenis, kunci, baris, tambahan)?Apakah metrik utama untuk dicari dalam output yang dijelaskan (jenis, kunci, baris, tambahan)?Apr 15, 2025 am 12:15 AM

Metrik utama untuk menjelaskan arahan termasuk jenis, kunci, baris, dan tambahan. 1) Jenis mencerminkan jenis akses pertanyaan. Semakin tinggi nilai, semakin tinggi kecekapan, seperti const adalah lebih baik daripada semua. 2) Kunci memaparkan indeks yang digunakan, dan null menunjukkan tiada indeks. 3) Baris menganggarkan bilangan baris yang diimbas, yang mempengaruhi prestasi pertanyaan. 4) Tambahan memberikan maklumat tambahan, seperti menggunakanFilesort meminta bahawa ia perlu dioptimumkan.

Apakah status sementara dalam menjelaskan dan bagaimana untuk mengelakkannya?Apakah status sementara dalam menjelaskan dan bagaimana untuk mengelakkannya?Apr 15, 2025 am 12:14 AM

MenggunakanTemary menunjukkan bahawa keperluan untuk membuat jadual sementara dalam pertanyaan MySQL, yang biasanya dijumpai di Orderby menggunakan lajur yang berbeza, GroupBy, atau tidak diindeks. Anda boleh mengelakkan berlakunya indeks dan menulis semula pertanyaan dan meningkatkan prestasi pertanyaan. Khususnya, apabila menggunakan pembelian muncul dalam menjelaskan output, ini bermakna MySQL perlu membuat jadual sementara untuk mengendalikan pertanyaan. Ini biasanya berlaku apabila: 1) deduplikasi atau pengelompokan apabila menggunakan yang berbeza atau kumpulan; 2) Susun apabila Orderby mengandungi lajur bukan indeks; 3) Gunakan subquery kompleks atau menyertai operasi. Kaedah Pengoptimuman termasuk: 1) Orderby dan GroupB

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.