dotnet core 使用 MongoDB 进行高性能Nosql数据库操作
好久没有写过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数据库操作的更多相关文章
- 选择高性能NoSQL数据库的5个步骤
来源:Redislabs作者:Shabih Syed 翻译:Kevin (公众号:中间件小哥) 构建在线和运营应用程序的开发团队越来越多地选择一类新的数据库来支持它们.它被称为“NoSQL”或“Not ...
- dotnet core 链接mongodb
导入命名空间 using MongoDB.Bson; using MongoDB.Driver; 测试示例: var client = new MongoClient("mongodb:// ...
- 28个MongoDB NoSQL数据库的面试问答
MongoDB是目前最好的面向文档的免费开源NoSQL数据库.如果你正准备参加MongoDB NoSQL数据库的技术面试,你最好看看下面的MongoDB NoSQL面试问答.这些MongoDB NoS ...
- NoSQL数据库介绍
NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面.今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于N ...
- MongoDB(一):NoSQL简介、MongoDB简介
1. NoSQL简介 1.1 什么是NoSQL NoSQL(NoSQL= Not Only SQL),意即“不仅仅是SQL",是一项全新的数据库理念,泛指非关系型的数据库. 1.2 为什么需 ...
- 发布一个参考ssdb,使用go类似的实现redis高性能nosql:ledisdb
起因 ledisdb是一个參考ssdb.採用go实现,底层基于leveldb,相似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持. 我们如今的应用极大的依 ...
- 高性能nosql ledisdb设计与实现(1)
ledisdb是一个用go实现的基于leveldb的高性能nosql数据库,它提供多种数据结构的支持,网络交互协议参考redis,你可以很方便的将其作为redis的替代品,用来存储大于内存容量的数据( ...
- 发布一个参考ssdb,用go实现的类似redis的高性能nosql:ledisdb
起因 ledisdb是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持. 我们现在的应用极大的依 ...
- Atitit.nosql api 标准化 以及nosql数据库的实现模型分类差异
Atitit.nosql api 标准化 以及nosql数据库的实现模型分类差异 1. 常用的nosql数据库MongoDB Cassandra1 1.1. 查询> db.blogposts. ...
随机推荐
- 二叉树的递归实现(java)
这里演示的二叉树为3层. 递归实现,先构造出一个root节点,先判断左子节点是否为空,为空则构造左子节点,否则进入下一步判断右子节点是否为空,为空则构造右子节点. 利用层数控制迭代次数. 依次递归第二 ...
- 全球HTTPS时代已来,你跟上了吗?
全球HTTPS时代已来,你跟上了吗? 互联网发展20多年,大家都习惯了在浏览器地址里输入HTTP格式的网址.但前两年,HTTPS逐渐取代HTTP,成为传输协议界的"新宠". 早 ...
- JVM虚拟机结构
JVM的主要结构如下图所示,图片引用自舒の随想日记. 方法区和堆由所有线程共享,其他区域都是线程私有的 程序计数器(Program Counter Register) 类似于PC寄存器,是一块较小的内 ...
- 牛顿插值法——用Python进行数值计算
拉格朗日插值法的最大毛病就是每次引入一个新的插值节点,基函数都要发生变化,这在一些实际生产环境中是不合适的,有时候会不断的有新的测量数据加入插值节点集, 因此,通过寻找n个插值节点构造的的插值函数与n ...
- 异步与并行~List<T>是线程安全的吗?
返回目录 题目有点意思,大家都知道Dictionary<K,V>不是线程安全的类型,而List<T>是线程安全的吗?在今天之前大叔没有去测试过,而就在今天也是一个VIP问我,说 ...
- 【原】使用Bmob作为iOS后台开发心得——查询关联关系(BmobRelation)
本文转载请注明出处 —— polobymulberry-博客园 简介 Bmob中的数据关联分为Pointer和Relation两种(数据关联在我开发app过程中使用还是很频繁的,也算个难点.虽然之前没 ...
- 推荐几款jquery图片切换插件
一.前言 毕业季到了,大家都在匆匆忙忙的记录大学里最美好的时光,照片中各种花式.各种姿势都涌现出来了.这么多的照片怎么展示出来给自己的好友看呢?有人选择做成视频,有人选择ps之后做成图片集,而我选择利 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(31)-MVC使用RDL报表
系列目录 这次我们来演示MVC3怎么显示RDL报表,坑爹的微软把MVC升级到5都木有良好的支持报表,让MVC在某些领域趋于短板 我们只能通过一些方式来使用rdl报表. Razor视图不支持asp.ne ...
- Python:认识模块
一.了解 Python 模块: -- 什么是函数: 函数是实现一项或多项功能的一段程序 模块是实现一类功能的程序块,是包含函数和其他语句的脚本文件,以".py"为后缀名 默认,C: ...
- windows下mysql 主从同步
半路出家到Java,刚开始听说到说程序支持读写分离感觉特别高大上,也一直没接触 偶然的机会接触到了,就一定得记下来. 今天先讲讲数据库的主从同步,两个好处: 一是读写分离可以用上.比如 写操作就写到主 ...