在C#中使用MongoDB数据库

一、添加MongoDB引用

想要在C#中使用MongoDB,首先安装支持MongoDB的C#版的驱动。

利用MongoDB官方发布的C#驱动,可通过网络下载或nuget安装,得到MongoDB相关的dll,添加到项目中引用。

https://docs.mongodb.com/drivers/csharp/

通过NuGet方式添加

第一步:在项目中右键,选择管理NuGet管理包

第二步:搜索MongoDB,选择MongoDB.Driver添加,我这里已经添加过了所以没有添加按钮

通过这两步,会在项目中自动添加MongoDB.Bson(序列化、Json相关)、MongoDB.Driver(驱动程序)、MongoDB.Driver.Core等引用

二、使用方法

1、连接数据库

在连接数据库之前,请确保MongoDB数据库服务已经启动。

using MongoDB.Bson;
using MongoDB.Driver;

//1.连接字符串(mongodb数据库默认端口为:27017)
string connStr = "mongodb://127.0.0.1:27017";

//2.创建连接MongoClient实例实际上代表了一个到数据库的连接池,即使有多个线程,也只需要一个MongoClient类的实例
var client = new MongoClient(connStr);

//3.使用client的GetDatabase方法获取数据库,即使该数据库不存在,也会自动创建;
IMongoDatabase db = client.GetDatabase("test");

2、操作数据

三个对象, client是连接数据库的客户端, database对应库, collection是对象集合。对对象的操作是针对collection集合。

//4.获取数据集 collection;BsonDocument是在数据没有预先定义好的情况下使用的。
IMongoCollection<BsonDocument> collection = db.GetCollection<BsonDocument>("runoob1");

//5.插入一条数据;
var document = new BsonDocument { { "id", 2 }, { "name", "aa" } };
collection.InsertOne(document);

//6.查询数据1
var res = collection.Find(new BsonDocument()).ToList(); //查询整个数据集
foreach (var item in res)
{
    Console.WriteLine(item);
}
//6.查询数据2
var res_a = collection.Find(new BsonDocument()).FirstOrDefault(); //查询当前数据集的第一条数据,没有则返回null
Console.WriteLine(res_a);

//6.升序降序查询3:
var sort_ascending = Builders<BsonDocument>.Sort.Ascending("id"); //根据id升序
var sort_descending = Builders<BsonDocument>.Sort.Descending("id"); //根据id降序
var res_c = collection.Find(Builders<BsonDocument>.Filter.Lt("id", 10) & Builders<BsonDocument>.Filter.Gte("id", 2)).Limit(50).Sort(sort_ascending).ToCursor(); //查询id小于10,大于2的数据
foreach (var item in res_c.ToEnumerable())
{
    Console.WriteLine(item);
}

//7.更新数据,更新支持添加新的field, 如:
collection.UpdateMany(Builders<BsonDocument>.Filter.Eq("id", 2), Builders<BsonDocument>.Update.Set("name", "hello"));   //将id字段为2的名字都改为“hello”;

//8.删除
collection.DeleteMany(Builders<BsonDocument>.Filter.Eq("id", 2));

mongodb对程序员是极友好的, 可以动态变化的结构, 让程序员不再害怕频繁变动的需求。

到此这篇关于C#使用MongoDB的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 使用C#连接并读取MongoDB数据库

    在上篇文章中,讲解了MongoDB的基本操作,包括增.删.改.查,但是这些操作都是在命令行模式下进行的,这篇文章中讲解如何使用C#程序连接到MongoDB数据库,并且读取里面的文档. 一.新建项目 新建控制台程序,命名为“MongoDBDemo” 二.使用NuGet添加MongoDB 1.在项目上右键,选择“管理NuGet程序包” 2.在弹出的对话框中输入“MongoDB”并搜索 3.这里选择安装MongoDB.Driver,安装过程如下: 4.查看引用 安装完成以后,查看项目的引用,发现Mon

  • 详解MongoDB for C#基础入门

    笔者这里采用的是mongoDB官网推荐使用.net驱动: http://mongodb.github.io/mongo-csharp-driver/2.0/getting_started/quick_tour/ 有关于MongoDB的安装读者可以参考其他的博客,对于基本的学习来说并不需要进行过多的配置. 创建连接 这一步骤跟ADO.NET连接到数据库的步骤是一样的,ADO.NET是利用SqlConnection连接数据库,而MongoDB则使用MongoClient连接,并在构造函数中将连接字符

  • c#操作mongodb插入数据效率

    mongodb的数据插入速度是其一个亮点,同样的10000条数据,插入的速度要比Mysql和sqlserver都要快,当然这也是要看使用者怎么个使用法,你代码如果10000次写入使用10000次连接,那也是比不过其他数据库使用事务一次性提交的速度的. 同样,mongo也提供的一次性插入巨量数据的方法,因为mongodb没有事务这回事,所以在在C#驱动里,具体方法是InsertManyAsync()一次性插入多个文档.与之对应的是InsertOneAsync,这个是一次插入一个文档: Insert

  • C# 对MongoDB 进行增删改查的简单操作实例

    运用到的MongoDB支持的C#驱动,当前版本为1.6.0 下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 1,连接数据库 复制代码 代码如下: /// <summary>        /// 数据库连接         /// </summary>        private const string conn = "mongodb://127.0.0.1:27017";     

  • C#中使用1.7版本驱动操作MongoDB简单例子

    复制代码 代码如下: //创建数据库链接 //在1.7的版本驱动中这样写是会报 MongoServer方法已过时的 //MongoServer server =  MongoDB.Driver.MongoServer.Create(strconn); //带有用户名,密码的如下写法,不带的则直接ip+端口就可以 const string connectionString = "mongodb://city:liyang@192.168.1.211:27017"; //得到一个客户端对象

  • C# 操作 MongoDB的示例demo

    今项目使用Mongodb,C#操作MongoDB使用MongoDB.Driver.dll库(Nuget),写了个小Demo,如下: using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using MongoDB.Driver; namespace MongoBase { internal class MongoBas

  • C#简单操作MongoDB的步骤全纪录

    前言 MongoDB是一款由C++编写的高性能.开源.无模式的常用非关系型数据库产品,是非关系数据库当中功能最丰富.最像关系数据库的数据库.它扩展了关系型数据库的众多功能,例如:辅助索引.范围查询.排序等. MongoDB主要解决的是海量数据的访问效率问题,它作为分布式数据崛起后,使用较多的一款非结构数据库,必然有其值得称道之处,它的主要功能特性如下: 1)面向集合的存储,适合存储对象及JSON形式的数据. 2)动态查询,MongoDB支持丰富的查询表达式.查询指令使用JSON形式的标记,可轻易

  • Spring Boot中使用MongoDB数据库的方法

    MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源的文档数据库──NoSql数据库的一种.NoSql,全称是 Not Only Sql,指的是非关系型的数据库. 特点 MongoDB数据库的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: * 面向集合存储,易存储对象类型的数据. * 模式自由. * 支持动态查询. * 支持完全索引,包含内部对象

  • 使用Djongo模块在Django中使用MongoDB数据库

    目录 一.安装与配置 二.定义模型 三.生成模型 四.访问Django Admin 五.操作数据 六.最后 一.安装与配置 Djongo的项目官方地址为:https://nesdis.github.io/djongo/,我们可以通过pip命令直接安装djongo: pip install djongo 在安装完成之后,我们就可以直接在Django中配置MongoDB数据库的信息了. 在正常情况下,我们的Django项目中数据库在settings.py文件中进行配置,其一般配置如下所示: DATA

  • Laravel 框架中使用 MongoDB 数据库的操作

    1.先确定好自己使用的哪个版本的 Laravel 框架,再决定 composer 哪一个的 MongoDB,我使用的是 Laravel 8 所以我 composer 了 3.8 的MongoDb 2.执行 composer 命令,进行下载,我是用的是第二个命令 composer require jenssegers/mongodb ^3.8 -vvv composer require jenssegers/mongodb:3.8 --ignore-platform-reqs 3.这个时候可能会报

  • 在C#中使用MongoDB数据库

    一.添加MongoDB引用 想要在C#中使用MongoDB,首先安装支持MongoDB的C#版的驱动. 利用MongoDB官方发布的C#驱动,可通过网络下载或nuget安装,得到MongoDB相关的dll,添加到项目中引用. https://docs.mongodb.com/drivers/csharp/ 通过NuGet方式添加 第一步:在项目中右键,选择管理NuGet管理包 第二步:搜索MongoDB,选择MongoDB.Driver添加,我这里已经添加过了所以没有添加按钮 通过这两步,会在项

  • docker中使用mongodb数据库详解(在局域网访问)

    前言 有了docker,基本上就告别了各种软件.数据库的安装,直接从镜像库pull下来,爽,想想以前那真是一个遭罪啊. 这文章就来看一下如何跑mongo的docker镜像,并且可以在局域网访问,内容相对简单,也是记录我的自学过程. 第一步 获得mongo镜像,命令如下, # 拉取mongo镜像 docker pull mongo # 查看本地库mongo镜像 docker images mongo 第二步 启动mongo镜像,如下 # 启动mongo镜像 docker run -itd -P -

  • 在Docker中使用mongodb数据库的实现代码

    获取 mongo 镜像 sudo docker pull mongo 运行 mongodb 服务 sudo docker run -p 27017:27017 -v /tmp/db:/data/db -d mongo 运行 mongodb 客户端 sudo docker run -it mongo mongo --host <宿主机IP地址> --port 27017 > show dbs admin 0.000GB config 0.000GB local 0.000GB > u

  • PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例

    PHP 扩展mongon.mod.dll下载http://cn.php.net/manual/en/mongo.installation.php#mongo.installation.windows 然后php.ini添加 extension=php_mongo.dll 最后phpinfo() 查找到 表标PHP已经自带了mongo功能,你就可以操作下面的代码(但是你必须有安装mongodb服务器) 一.连接数据库 使用下面的代码创建一个数据库链接 复制代码 代码如下: <?php $conne

  • PHP中安装使用mongodb数据库

    传统数据库中,我们要操作数据库数据都要书写大量的sql语句,而且在进行无规则数据的存储时,传统关系型数据库建表时对不同字段的处理也显得有些乏力,mongo应运而生,而且ajax技术的广泛应用,json格式的广泛接受,也使得mongo更贴近开发人员. mongo简介及应用场景 MongoDB是一个面向文档的非关系型数据库(NoSQL),使用json格式存储.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象.Mongo DB最大的优

  • Node.js中使用mongoose操作mongodb数据库的方法

    如何利用mongoose将数据写入mongodb数据库? 1.利用npm下载安装mongoose; npm install mongoose 2.建立js文件,引入mongoose var mongoose = require('mongoose'); 3.mongoose.connect连接数据库 //连服务器 mongoose.connect('mongodb://127.0.0.1:27017/test'); //数据库的名字 var connection = mongoose.conne

随机推荐