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. ...
随机推荐
- a标签绝对定位,点击区域被图片遮挡(IE下)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- could not initialize proxy - no Session
这是一个精典的问题:因为我们在hibernate里面load一个对象出来时,用到的是代理对象,也就是说当我们在执行load方法时并没有发sql语句,而是返回一个proxy对象.只有当们具体用到哪个ge ...
- 【流量劫持】SSLStrip 的未来 —— HTTPS 前端劫持
前言 在之前介绍的流量劫持文章里,曾提到一种『HTTPS 向下降级』的方案 -- 将页面中的 HTTPS 超链接全都替换成 HTTP 版本,让用户始终以明文的形式进行通信. 看到这,也许大家都会想到一 ...
- Threadlocal使用Case
Threadlocal能够为每个线程分配一份单独的副本,使的线程与线程之间能够独立的访问各自副本.Threadlocal 内部维护一个Map,key为线程的名字,value为对应操作的副本. /** ...
- iOS开发系列--Swift进阶
概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...
- Thinking in Unity3D:渲染管线中的Rendering Path
关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的 ...
- 配置文件Java读写
今天把配置文件的Bug修复了,总结一下Java配置文件如何读写 配置文件的格式 以.properties后缀结尾,内容不出现空格和双引号 //config.properties Driver=com. ...
- .Net 面试题 3C(CTS,CLS,CLR)
1.CTS(Common Type System)通用类型系统 CTS不但实现了COM的变量兼容类型,而且还定义了通过用户自定义类型的方式来进行类型扩展.任何以.NET平台作为目标的语言必须建立它的数 ...
- vue-router2.0 组件之间传参及获取动态参数
<li v-for=" el in hotLins" > <router-link :to="{path:'details',query: {id:el ...
- C#泛型方法解析
C#2.0引入了泛型这个特性,由于泛型的引入,在一定程度上极大的增强了C#的生命力,可以完成C#1.0时需要编写复杂代码才可以完成的一些功能.但是作为开发者,对于泛型可谓是又爱又恨,爱的是其强大的功能 ...