搜索
首页数据库mysql教程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>

获得数据库连接服务

<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视频教程

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
mongodb php 扩展没有怎么办mongodb php 扩展没有怎么办Nov 06, 2022 am 09:10 AM

mongodb php扩展没有的解决办法:1、在linux中执行“$ sudo pecl install mongo”命令来安装MongoDB的PHP扩展驱动;2、在window中,下载php mongodb驱动二进制包,然后在“php.ini”文件中配置“extension=php_mongo.dll”即可。

Redis和MongoDB的区别与使用场景Redis和MongoDB的区别与使用场景May 11, 2023 am 08:22 AM

Redis和MongoDB都是流行的开源NoSQL数据库,但它们的设计理念和使用场景有所不同。本文将重点介绍Redis和MongoDB的区别和使用场景。Redis和MongoDB简介Redis是一个高性能的数据存储系统,常被用作缓存和消息中间件。Redis以内存为主要存储介质,但它也支持将数据持久化到磁盘上。Redis是一款键值数据库,它支持多种数据结构(例

Go语言中使用MongoDB:完整指南Go语言中使用MongoDB:完整指南Jun 17, 2023 pm 06:14 PM

MongoDB是一种高性能、开源、文档型的NoSQL数据库,被广泛应用于Web应用、大数据以及云计算领域。而Go语言则是一种快速、开发效率高、代码可维护性强的编程语言。本文将为您完整介绍如何在Go语言中使用MongoDB。一、安装MongoDB在使用MongoDB之前,需要先在您的系统中安装MongoDB。在Linux系统下,可以通过如下命令安装:sudo

php7.0怎么安装mongo扩展php7.0怎么安装mongo扩展Nov 21, 2022 am 10:25 AM

php7.0安装mongo扩展的方法:1、创建mongodb用户组和用户;2、下载mongodb源码包,并将源码包放到“/usr/local/src/”目录下;3、进入“src/”目录;4、解压源码包;5、创建mongodb文件目录;6、将文件复制到“mongodb/”目录;7、创建mongodb配置文件并修改配置即可。

php怎么使用mongodb进行增删查改操作php怎么使用mongodb进行增删查改操作Mar 28, 2023 pm 03:00 PM

MongoDB作为一款流行的NoSQL数据库,已经被广泛应用于各种大型Web应用和企业级应用中。而PHP语言也作为一种流行的Web编程语言,与MongoDB的结合也变得越来越重要。在本文中,我们将会学习如何使用PHP语言操作MongoDB数据库进行增删查改的操作。

SpringBoot中logback日志怎么保存到mongoDBSpringBoot中logback日志怎么保存到mongoDBMay 18, 2023 pm 07:01 PM

自定义Appender非常简单,继承一下AppenderBase类即可。可以看到有个AppenderBase,有个UnsynchronizedAppenderBase,还有个AsyncAppenderBase继承了UnsynchronizedAppenderBase。从名字就能看出来区别,异步的、普通的、不加锁的。我们定义一个MongoDBAppender继承UnsynchronizedAppenderBasepublicclassMongoDBAppenderextendsUnsynchron

SpringBoot怎么整合Mongodb实现增删查改SpringBoot怎么整合Mongodb实现增删查改May 13, 2023 pm 02:07 PM

一、什么是MongoDBMongoDB与我们之前熟知的关系型数据库(MySQL、Oracle)不同,MongoDB是一个文档数据库,它具有所需的可伸缩性和灵活性,以及所需的查询和索引。MongoDB将数据存储在灵活的、类似JSON的文档中,这意味着文档的字段可能因文档而异,数据结构也会随着时间的推移而改变。文档模型映射到应用程序代码中的对象,使数据易于处理。MongoDB是一个以分布式数据库为核心的数据库,因此高可用性、横向扩展和地理分布是内置的,并且易于使用。况且,MongoDB是免费的,开源

Swoole与MongoDB的整合:构建高性能的文档数据库系统Swoole与MongoDB的整合:构建高性能的文档数据库系统Jun 14, 2023 am 11:51 AM

在现代企业应用程序开发中,需要处理海量数据和高并发的访问请求。为了满足这些需求,开发人员需要使用高性能的数据库系统,以确保系统的稳定性和可扩展性。本文将介绍如何使用Swoole和MongoDB构建高性能的文档数据库系统。Swoole是一个基于PHP语言开发的异步网络通信框架,它能够大大提高PHP应用程序的性能和并发能力。MongoDB是一种流行的文档数据库,

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器