好久没有写过Blog, 每天看着开源的Java社区流口水, 心里满不是滋味. 终于等到了今年六月份 dotnet core 的正式发布,

看着dotnet 社区也一步一步走向繁荣, 一片蒸蒸日上的大好景象. 不在绑定Windows, 相信众位dotneter的春天就要来了

废话不多说, 早就对dotnet core 跃跃欲试, 手头一个新项目也正计划使用dotnet core来开发. 正好自己做做调研, 就与大家分享一点使用MongoDB的经验.

首先, 安装VS Code, 并安装C#插件, 官网地址, 我把链接放这儿https://code.visualstudio.com/, 如果不会安装配置的话, 客官不送

除了C#语言插件, 我们还需要nuget插件.

扩展管理工具, 如图, 我安装的Nuget插件叫.net core project manager

安装后会要求重启VS code, 照做就是.

在vs code 的官网下载vs code后会有个创建dotnet core项目的指导. 如果你照做了用那个项目就ok. 如果你没照做就按下面的步骤创建一个项目.

1. 创建一个项目文件夹

2. 命令行中进入刚刚创建的文件加

3. 命令行输入命令: dotnet new

炒鸡简单是不是

紧接着我们要安装Mongodb的驱动.

在vs code 中打开command palette, 可以用快捷键Shift+Ctrl+P, 在里面输入nuget会出现提示, 如图

选择 add new package 会出现一个新的输入框, 输入mongodb 后回车.

会出现一些选项, 如图

选择第一个, MongoDB.Driver 是官方的驱动. 然后会再弹出一个新的对话框选择版本, 注意, 这个要选对, 要选2.3.0-beta1  2.3.0-beta1  2.3.0-beta1(重要的事情说三遍), 不要选择2.3.0-rc1, 开始因为用了错误的版本花了好多时间.

安装完成会提示restore一下, 照做就是.

然后安装Mongodb, 并启动mongo的服务.

Mongodb的官网地址:https://www.mongodb.com/, 执行一下命令:

mongod --dbpath c:\mongodata

好了, 环境我们都准备好了, 重头戏来喽

在代码文件中添加如下两个命名空间:

using MongoDB.Bson;
using MongoDB.Driver;

要进行数据操作, 先实例一个MongoClient

var client = new MongoClient("mongodb://127.0.0.1:27017");

然后创建database和collection

var database = client.GetDatabase("foo");
var collection = database.GetCollection<BsonDocument>("bar");

之后我们就可以尝试插入一条数据, 代码如下

var document = new BsonDocument
            {
                { "name", "SqlServer" },
                { "type", "Database" },
                { "count", 5 },
                { "info", new BsonDocument
                    {
                        { "x", 111 },
                        { "y", 222 }
                    }}
            };

collection.InsertOne(document);

插入数据后我们看一下是否成功, 可以Count一下, 看Collection中的总数

var count = collection.Count(new BsonDocument());
Console.WriteLine("Collection contains {0} document.", count);

再试试查询

var result = collection.Find(new BsonDocument()).FirstOrDefault();
Console.WriteLine("I got the query result:");
Console.WriteLine(result);

代码很简单, 大家自行尝试吧, Mongodb 官网有个.net driver的指导http://mongodb.github.io/mongo-csharp-driver/2.2/getting_started/quick_tour/

dotnet core 使用 MongoDB 进行高性能Nosql数据库操作的更多相关文章

  1. 选择高性能NoSQL数据库的5个步骤

    来源:Redislabs作者:Shabih Syed 翻译:Kevin (公众号:中间件小哥) 构建在线和运营应用程序的开发团队越来越多地选择一类新的数据库来支持它们.它被称为“NoSQL”或“Not ...

  2. dotnet core 链接mongodb

    导入命名空间 using MongoDB.Bson; using MongoDB.Driver; 测试示例: var client = new MongoClient("mongodb:// ...

  3. 28个MongoDB NoSQL数据库的面试问答

    MongoDB是目前最好的面向文档的免费开源NoSQL数据库.如果你正准备参加MongoDB NoSQL数据库的技术面试,你最好看看下面的MongoDB NoSQL面试问答.这些MongoDB NoS ...

  4. NoSQL数据库介绍

    NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面.今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于N ...

  5. MongoDB(一):NoSQL简介、MongoDB简介

    1. NoSQL简介 1.1 什么是NoSQL NoSQL(NoSQL= Not Only SQL),意即“不仅仅是SQL",是一项全新的数据库理念,泛指非关系型的数据库. 1.2 为什么需 ...

  6. 发布一个参考ssdb,使用go类似的实现redis高性能nosql:ledisdb

    起因 ledisdb是一个參考ssdb.採用go实现,底层基于leveldb,相似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持. 我们如今的应用极大的依 ...

  7. 高性能nosql ledisdb设计与实现(1)

    ledisdb是一个用go实现的基于leveldb的高性能nosql数据库,它提供多种数据结构的支持,网络交互协议参考redis,你可以很方便的将其作为redis的替代品,用来存储大于内存容量的数据( ...

  8. 发布一个参考ssdb,用go实现的类似redis的高性能nosql:ledisdb

    起因 ledisdb是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持. 我们现在的应用极大的依 ...

  9. Atitit.nosql api 标准化 以及nosql数据库的实现模型分类差异

    Atitit.nosql api 标准化 以及nosql数据库的实现模型分类差异 1. 常用的nosql数据库MongoDB  Cassandra1 1.1. 查询> db.blogposts. ...

随机推荐

  1. BZOJ 1146: [CTSC2008]网络管理Network [树上带修改主席树]

    1146: [CTSC2008]网络管理Network Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 3522  Solved: 1041[Submi ...

  2. .Net中的AOP读书笔记系列之AOP介绍

    返回<.Net中的AOP>系列学习总目录 本篇目录 AOP是什么? Hello,World! 小结 本系列的源码本人已托管于Coding上:点击查看,想要注册Coding的可以点击该连接注 ...

  3. [PHP源码阅读]strpos、strstr和stripos、stristr函数

    我在github有对PHP源码更详细的注解.感兴趣的可以围观一下,给个star.PHP5.4源码注解.可以通过commit记录查看已添加的注解. strpos mixed strpos ( strin ...

  4. H5嵌入原生开发小结----兼容安卓与ios的填坑之路

    一开始听说开发H5,以为就是做适配现代浏览器的移动网页,心想不用管IE了,欧也.到今天,发现当初too young too simple,兼容IE和兼容安卓与IOS,后者让你更抓狂.接下来数一下踩过的 ...

  5. H5图片压缩与上传

    接到需求,问前端是否可以压缩图片?因为有的图片太大,传到服务器上再压缩太慢了.意识里没有这么玩过,早上老大丢来一个知乎链接,一看,原来前辈们已经用canvas实现了(为自己的见识羞愧3秒钟,再马上开干 ...

  6. ASP.NET MVC Model验证(五)

    ASP.NET MVC Model验证(五) 前言 上篇主要讲解ModelValidatorProvider 和ModelValidator两种类型的自定义实现, 然而在MVC框架中还给我们提供了其它 ...

  7. Entity Framework 6 Recipes 2nd Edition(13-3)译 -> 为一个只读的访问获取实体

    问题 你想有效地获取只是用来显示不会更新的操作的实体.另外,你想用CodeFirst的方式来实现 解决方案 一个非常常见行为,尤其是网站,就是只是让用户浏览数据.大多数情况下,用户不会更新数据.在这种 ...

  8. Atitit 外包管理规范attilax总结

    Atitit 外包管理规范attilax总结 1. 常见的外包问题2 1.1. 使用了过时的语言与技术2 1.2. 不易扩展的架构,架构落后2 1.3. 使用了小众语言,框架类库,组件等技术,导致维护 ...

  9. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  10. WCF学习之旅—TcpTrace工具(二十六)

    止文(WCF学习之旅—TcpTrace工具(二十五))介绍了关于TcpTrance的一种使用方式,接下来介绍第二种使用方式. 三.通过ListenUri实现基于tcpTracer的消息路由 对于路由的 ...