C#开发接口——MongoDB(对库操作)

MongoDB的C#驱动只有一些类是线程安全的,其中包含(MongoServer、MongoDatabase、MongoCollection、MongoGridFS),其他的大多数类不是线程安全的。

有些场景需要保证数据的正确性,需要将一系列的操作绑定到DB级对象。那么可以用类似事务控制的方式保证一致性。

//事务控制
static void Main(string[] args)
{
//数据库连接字符串
string connectionString = "mongodb://127.0.0.1:27017";
//得到一个对象实例的连接
var client = new MongoClient(connectionString);
var server = client.GetServer();
//MongoServer server = MongoServer.Create(connectionString);
//指定安全证书
MongoCredentials credential = new MongoCredentials("wander", "123456");
//获得一个"mongoDB"连接对象
MongoDatabase mydb = server.GetDatabase("test", credential);

//开始事务控制
server.RequestStart(mydb);
//在此添加业务逻辑
//结束事务控制
server.RequestDone();

}

MongoDB实例操作

实例是数据库最大工作单元,在实例中有数据库、表等对象,接下来看实例级别操作。

1)判断MongoDB实例是否存活

//判断当前实例是否存活
static void Main(string[] args)
{
//数据库连接字符串
string connectionString = "mongodb://root:[email protected]:27017";
//得到一个对象实例的连接
var client = new MongoClient(connectionString);
var server = client.GetServer();
server.Ping();

}

没有存活会抛出异常

2)远程控制管理MongoDB实例

//关闭MongoDB实例
static void Main(string[] args)
{
//数据库连接字符串
string connectionString = "mongodb://root:[email protected]:27017";
//得到一个对象实例的连接
var client = new MongoClient(connectionString);
var server = client.GetServer();

server.Shutdown();

}

注意到没有证书了么?这里需要最高级root用户来连接,无需指定证书。

3)列出所有的数据库

static void Main(string[] args)
{
//数据库连接字符串
string connectionString = "mongodb://root:[email protected]:27017";
//得到一个对象实例的连接
var client = new MongoClient(connectionString);
var server = client.GetServer();

var names = server.GetDatabaseNames();
foreach(var name in names)
{
Console.WriteLine(name);
}
Console.ReadLine();
}

4)判断数据库是否存在

//判断数据库是否存在

static void Main(string[] args)
{
//数据库连接字符串
string connectionString = "mongodb://root:[email protected]:27017";
//得到一个对象实例的连接
var client = new MongoClient(connectionString);
var server = client.GetServer();

Console.WriteLine(server.DatabaseExists("test"));
Console.ReadLine();
}

时间: 2024-08-25 21:08:31

C#开发接口——MongoDB(对库操作)的相关文章

C#开发接口——MongoDB

MongoDB提供的C#开发接口,先从下载开始,然后是插入.查询.更新. 先要开启MongoDB服务. 下载http://github.com/mongodb/mongo-csharp-driver/downloads.每个版本会有两个驱动模式,一个是.msi,一个是.zip. VS:2013,MongoDB:3.2.0 打开VS2013,新建控制台程序,增加下载好的两个引用(MongoDB.Bson.dll,MongoDB.driver.dll) 1.插入数据 static void Main

企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作完善中...SpringMVC+JSP)

关于即时到账的开发.审核通过.简单测试如下. 希望看的可以收藏或者赞一下哦. 1:拥有自己的支付宝企业账号.去产品商店选择适合自己的方案.并签约合同. 2:选择合适的商家收款产品并去签约.填写相应的信息 3:在商家服务会有PID和KEY是关键的东西. 4:选择自己签约的产品类型,下载对应的接口api与测试代码 即时到账收款 --alipaydirect 网银支付 --alipaydirect_bankpay_single 担保交易收款 --alipaytescow 双功能收款 --alipayd

Java开发中使用POI库操作Excel

首先,我们要重点说明一下Excel的两中不同的格式,这个直接影响到我们在使用POI操作Excel的方式.一定要先明确你要操作的Excel所使用的版本,切记! 1,Excel的两种格式区别 a),*.xls文件是使用Microsoft Excel 2003或之前版本保存的电子表格,使用的存储格式为BIFF (Binary Interchange File Format),一种特殊的二进制格式文件. b)*.xlsx文件是使用Microsoft Office 2007 或后续版本保存的电子表格,使用

企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作完善中)

1.拥有自己的支付宝企业账号.去产品商店选择适合自己的方案.并签约合同. 2.选择合适的商家收款产品并去签约.填写相应的信息 3.在商家服务会有PID和KEY是关键的东西. 4.选择自己签约的产品类型,下载对应的接口api与测试代码 即时到账收款 --alipaydirect 网银支付 --alipaydirect_bankpay_single 担保交易收款 --alipaytescow 双功能收款 --alipaydualfun 快捷支付(无线) --WS_SECURE_PAY_SDK 手机网

UI标签库专题九:JEECG智能开发平台 Choose(选则操作标签)

?? 1. Choose(选则操作标签) 1.1. 参数 属性名 类型 描述 是否必须 默认值 hiddenName string 隐藏域的ID 否 null hiddenid string 隐藏框id 否 null textname string 文档名称 否 null name string 名称 是 null icon string 选择按钮的图标 是 null height string 弹出框的高度 否 null width string 弹出框的宽度 否 null left stri

MongoDB数据库简单操作

之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档

SQLite3 C/C++ 开发接口简介

SQLite3 C/C++ 开发接口简介 1.0 总览 SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和API. SQLite3是为了满足以下的需求而开发的: 支持UTF-16编码. 用户自定义的文本排序方法. 可以对BLOBs字段建立索引. 因此为了支持这些特性我改变了数据库的格式,建立了一个与之前版本不兼容的3.0版. 至于其他的兼容性的改变,例如全新的API等等,都将在理论介绍之后向你说明,这样

Python 3 mysql 库操作

Python 3 mysql 库操作 一.基础相关知识 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list,相当于一个具体的文件 记录:1 刘海龙 324245234 22,相当于文件中的一行内容 二.SQL语言简介 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据.查询

Ruby操作MongoDB(进阶)-CRUD操作

MongDB数据库的使用离不开CRUD操作.什么是CRUD,就是创建文档,读取文档信息,更新文档和删除文档. key-value键值对标记 在MongoDB的Ruby驱动中,Key_value键值多次出现.而且有时会出现语法上的巧合,这取决于在使用的Ruby版本中如何申明. 在文档创建步骤中,1.9及之后版本支持以下语法: document={name:"Tom",age:20}. 但是如果你使用的是2.2或者更高的版本,你可以用双引号将你的key包起来.如: document={&q