文档章节

野心勃勃的NoSQL新贵 MongoDB应用实战(6)

浮躁的码农
 浮躁的码农
发布于 2016/04/13 08:49
字数 377
阅读 38
收藏 4

四、MongoDB客户端访问 – C#

接下来我们要开始最简单的MongoDB连接,访问数据之旅了。MongoDB提供各种主流与非主流语言的开发驱动,以便适应各个方向的开发人员。

1、下载驱动

C#驱动的下载地址为:

https://github.com/downloads/mongodb/mongo-csharp-driver/CSharpDriver-1.0.0.4098.zip

将其解压到D:\mongodb\drivers\目录下,其中有2个重要的dll文件

MongoDB.Bson.dll --序列化、Json相关

MongoDB.Driver.dll --驱动

2、添加引用

新建一个C#的项目,添加引用,将上面两个dll文件引入到项目里面:

 

3、代码解析

下面以一个插入的操作为例,来一步一步解释代码:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
//添加命名空间  
using MongoDB.Bson;  
using MongoDB.Driver;  
namespace ConsoleApplication3  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            //MongoDB服务器连接串  
            string connectionString = "mongodb://192.168.1.103";  
            MongoServer server = MongoServer.Create(connectionString);  
            //连接到 mongodb_c_demo 数据库  
            MongoDatabase db = server.GetDatabase("mongodb_c_demo");  
            //获取集合 fruit  
            MongoCollection collection = db.GetCollection("fruit");  
            //创建对象 fruit_1  
            BsonDocument fruit_1 = new BsonDocument  
            {  
              { "name", "apple" },  
              { "color", "red" }  
            };  
            //创建对象 fruit_2  
            BsonDocument fruit_2 = new BsonDocument  
            {  
              { "name", "banana" },  
              { "color", "yellow" }  
            };  
            //将对象 fruit_1 放到集合 fruit 中  
            collection.Insert(fruit_1);  
            //将对象 fruit_2 放到集合 fruit 中  
            collection.Insert(fruit_2);  
            //以上代码完成的就是向fruit表中插入2条数据,用mysql的语法解释即  
            //insert into mongodb_c_demo.fruit (name, color)   
            //values ('apple', 'red'), ('banana', 'yellow');  
        }  
    }  
}



4、通过MongoDB Shell来验证是否插入:

> use mongodb_c_demo  
switched to db mongodb_c_demo  
> db.fruit.find();   
{ "_id" : ObjectId("4da1c5fdfad96211a08f5752"), "name" : "apple", "color" : "red" }  
{ "_id" : ObjectId("4da1c5fdfad96211a08f5753"), "name" : "banana", "color" : "yellow" }  
>



本文转载自:http://database.51cto.com/art/201104/255616_5.htm

共有 人打赏支持
浮躁的码农

浮躁的码农

粉丝 64
博文 745
码字总数 145372
作品 0
松江
程序员
将mongodb安装为windows服务

首先 下载mongodb: http://www.mongodb.org/downloads 解压到自己喜欢的一个目录 D:nosqlmongodb 配置MONGODB_HOME环境变量 MONGODB_HOME=D:nosqlmongodbmongodb-win32-i386-2.0.6 修改pat......

varlardoha
2013/01/15
0
1
NoSQL性能测试:MongoDB VS SequoiaDB

作为NoSQL的一个重要类型,文档型NoSQL通常被认为是最接近传统关系型数据库的NoSQL。文档型NoSQL的核心是数据嵌套,这种设计可以从某 种程度上大大简化传统数据库复杂的关联问题。同时由于摆...

SequoiaDB2013
2013/09/15
0
0
MongoDB学习心得(整理中)

NoSQL(Not Only SQL)-非关系型数据库,又一种流行的数据库技术。除去复杂、臃肿的结构化语言,简单的几个函数就可以完成增删该处基本操作。NoSQL好比一个灵活的猴子,而SQL就像大笨象了。 ...

cjp路人
2013/11/03
0
0
搭建高可用mongodb集群(一)——配置mongodb

在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了。 NOSQL有这些优势: 大数据量...

观澜而索源
2013/11/18
0
0
MongoDB和MySQL的区别

前言: MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方...

小喜-3
04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
20分钟前
0
0
AVA中CAS-ABA的问题解决方案AtomicStampedReference

了解CAS(Compare-And-Swap) CAS即对比交换,它在保证数据原子性的前提下尽可能的减少了锁的使用,很多编程语言或者系统实现上都大量的使用了CAS。 JAVA中CAS的实现 JAVA中的cas主要使用的是...

码代码的小司机
22分钟前
0
0
Android JNI开发系列(十三) JNI异常处理

JNI 异常处理 JNI异常与JAVA处理异常的区别 JAVA 有异常处理机制,而JNI没有 如果JAVA中异常没有捕获,后面的代码不会执行,JNI会执行 JAVA编译时的异常,是在方法显示的声明了某一个异常,编...

蔡小鹏
35分钟前
2
0
简单介绍Java 的JAR包、EAR包、WAR包区别

WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。 War是...

Linux就该这么学
今天
1
0
Qt那些事0.0.7

在帮助文档(Overview - QML and C++ Integration)中随缘遇到一张图,是关于C++对象与QML整合介绍的,值得标记下来,虽然大部分功能也有所涉猎,但是还是留个记号,万一哪天我失忆了还想写Q...

Ev4n
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部