好久没有写过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 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  2. javascript运动学教程

    本文系笔者学习原生javascript动效的笔记.内容基于某非著名培训机构的视频教程.并重新做了归类整理.删除了一些过时的内容.并重做了GIF图,加上了自己的一些分析. 一. 运动学基础 引子:从左到 ...

  3. Hadoop3 在eclipse中访问hadoop并运行WordCount实例

    前言:       毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环 ...

  4. 架构之路(九)Session Per Request

    前面的两篇反应很差:没评论没赞.很伤心啊,为什么呢?搞得我好长一段时间都没更新了——呵呵,好吧,我承认,这只是我的借口.不过,还是希望大家多给反馈.没有反馈,我就只能猜了:前面两篇是不是写得太“粗”了 ...

  5. Unity3D和Egret3D的基情

    Unity3D依靠多平台发布这个核心特点,目前如日中天,屌丝引擎之王绝无来者.Egret白鹭引擎,也着实在微信上刷了一屏又一屏.这二者似乎风马牛不相及,但是这个无处不搞基的年代,让一切皆有可能. U3 ...

  6. Go语言实战 - 使用SendCloud群发邮件

    山坡网需要能够每周给注册用户发送一封名为"本周最热书籍"的邮件,而之前一直使用的腾讯企业邮箱罢工了,提示说发送请求太多太密集. 一番寻找之后发现了大家口碑不错的搜狐SendClou ...

  7. ABP(现代ASP.NET样板开发框架)系列之3、ABP分层架构

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之3.ABP分层架构 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  8. SqlHelper中IN集合场景下的参数处理

    我手头有个古老的项目,持久层用的是古老的ADO.net.前两天去昆明旅游,其中的一个景点是云南民族村,通过导游介绍知道了一个古老的民族——基诺族,“基”在这个族内代表舅舅,“基诺”意为“跟在舅舅后边” ...

  9. pod Spec管理配置

    pod Spec 为自己的项目添加pod管理功能.前言: 上一篇文章中提到,因为自己在操作的时候遇到很多坑,所在在此做一个记录,同样也希望可以帮到在这个操作上遇到坑的人. 本文将采用配图和加文字的方式 ...

  10. LLBL Gen Pro 5.0 企业应用开发入门

    Solutions Design 公司于2016年5月发布了LLBL Gen Pro 5.0,这个新版本的发布出乎于我的意料.我的猜想是从4.2升级到4.5,再升级5.x版本,主版本号的变更会给原有客 ...