MongoDB-BSON】的更多相关文章

示例# 1 MongoDB \ BSON \ UTCDatetime:toDateTime()例子 <?php $utcdatetime = new MongoDB\BSON\UTCDateTime(1416445411987); $datetime = $utcdatetime->toDateTime(); var_dump($datetime->format('r')); var_dump($datetime->format('U.u')); var_dump($datetim…
BSON is a binary serialization format used to store documents and make remote procedure calls in MongoDB. The BSON specification is located at bsonspec.org BSON supports the following data types as values in documents. Each data type has a correspond…
使用mongodb自带的命令 bsondump collection.bson > collection.json…
这个Module通过建立一个MongoDbRepositoryBase<TEntity> 基类,封装了对MongoDb数据库的操作. 这个module通过引用MongoDB.Driver,MongoDB.Bson,MongoDB.Driver.Core,MongoDB.Driver.Legacy类库来操作MongoDb. 当项目不需要依赖于关系型数据库时,可以考虑引入MongoDB以及这个module. ABP.MongoDb模块涉及到的接口和类如下,结构清晰,简单. IAbpMongoDbM…
好久没有写过Blog, 每天看着开源的Java社区流口水, 心里满不是滋味. 终于等到了今年六月份 dotnet core 的正式发布, 看着dotnet 社区也一步一步走向繁荣, 一片蒸蒸日上的大好景象. 不在绑定Windows, 相信众位dotneter的春天就要来了 废话不多说, 早就对dotnet core 跃跃欲试, 手头一个新项目也正计划使用dotnet core来开发. 正好自己做做调研, 就与大家分享一点使用MongoDB的经验. 首先, 安装VS Code, 并安装C#插件,…
using System; using System.Collections.Generic; using System.Linq; using System.Web; using MongoDB.Driver; using MongoDB.Bson; using MongoDB.Driver.Builders; namespace web { public class MongoHelper { /// <summary> /// 数据库连接 /// </summary> pri…
官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads.下载后,还提供了一个酷似msdn的帮助文档. samus驱动:https://github.com/samus/mongodb-csharp/downloads. using System; using System.Collections.Generic; using System.Linq; using MongoDB.Driver; using MongoDB.Bso…
因为MongoDb 跨平台,可以免费使用,读写效率高,集群搭建简单,可以水平扩展等各种因素. 我决定研究一下Mongodb,在查看了相关文档后发现它对C#的支持不错,而且还有现成的C#的驱动, 新版的驱动还支持Linq,因为复杂的查询可以交给Linq去实现.正因为官方的驱动很强大. 刚开始接触时发现在大量的东西要去了解,为了能快速处理简单的项目,我对官方驱动做了进一步封装.项目中需要引入官方提供的dll,下载地址 https://github-cloud.s3.amazonaws.com/rel…
本篇先简单介绍一下,使用官方驱动来操作MongoDB.至于MongoDB原生的增删改查语句,且等以后再慢慢学习. 一.操作MongoDB的驱动主要有两个 1.官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads,更新的还是比较及时的,目前已经支持大部门linq语法. 2.samus驱动:https://github.com/samus/mongodb-csharp/downloads. 这个好像很久都没有更新了,估计是被抛弃了…
回到目录 注意,这里说的值对象是指在MongoDB实体类中的,并不是DDD中的值对象,不过,两者也是联系,就是它是对类的补充,自己本身没有存在的价值,而在值对象中,也是不需要有主键Id的,这与DDD也是不谋而合的,也是可以理解的,因为它只是对主对象的一种补充说明,自己不存在任何意义,所以要主键也没什么用,呵呵. 看一个MongoDB的值对象contact public class Person { public Person() { Contact = new Test.Contact(); A…
回到目录 递归递归我爱你!只要你想做,就一定能成功! 从一到二,从二到三,它是容易的,也是没什么可搞的,或者说,它是一种流水线的方式,而从三到十,从十到百,它注定要有一个质的突破,否则,它会把你累死,代码写的让你自己都觉得想吐!有时,我们是被逼出来的,对于一种功能的实现,我们有时需要有从三到十的态度中,就像0的出现是人类最大的突破之一…… 回归到实例,在MongoDB中实体可以嵌套,这在C#里叫做复杂属性,即类中也有类级的属性,这在面向对象里叫做“组合”(设计模式中的组合模式),它经常在日常开发…
mongodb c# driver(驱动)介绍 目前基于C#的mongodb驱动有两种,分别是官方驱动(下载地址)和samus驱动(下载地址). 本次我们只演示官方驱动的使用方法. 官方驱动文档查看 第一步:引用驱动dll 引用驱动有两种方式: 1. 根据上面的下载地址下载对应的版本,然后引用到项目中. 2. 在项目的引用上右击->管理NuGet程序包(首先确保安装了nuget扩展包)->联机搜索官方驱动dll(搜索条件是 “Official MongoDB”)->安装成功后会引用3个d…
简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.  MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似 json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的…
在实际更新Mongo对象时发现,原有的更新代码无法更新复杂的数据类型对象.恰好看到张占岭老师有对该方法做相关的改进,因此全抄了下来. 总的核心思想就是运用反射与递归,对对象属性一层一层挖掘下去,循环创建父类及之类的更新表达式. 相关代码如下: #region 递归获取字段更新表达式 private List<UpdateDefinition<T>> GetUpdateDefinitions<T>(T entity) { var type = typeof(T); var…
一.前言 最近项目中要用到MongoDB,因此实现做了不少的调研.发现网上很多现有关于MongoDB C#官方驱动的调用方法都是基于1.8版本的,已经不是用了最新的2.2版本.因此我在基于C#官方驱动2.2的基础上,对MongoDB的调用方法做了一些封装,以便于调用. 封装的内容包括: 1.封装了获取数据库及集合的方法 2.封装了新增一条.多条数据的方法 3.封装了更新一条.根据条件更新多条数据的方法,注意:是将对象统一更新成同一内容. 4.封装了删除一条,根据条件删除多条数据的方法. 5.封装…
using MongoDB.Driver; using System; namespace MongoDBDemo { public class MongoDb { public MongoDb(string host,string timeOut) { this.CONNECT_TIME_OUT = timeOut; this.MONGO_CONN_HOST = host; } /// <summary> /// 数据库所在主机 /// </summary> private re…
近期由于DB4O的一些无解的BUG,导致现行的项目查询效率底下,于是愤而迁移到了MongoDB. MongoDB虽然比DB4O的用户要多一些,但是文档依然极度匮乏,遇到问题不是那么容易就能搜到解决办法,在此分享一个遇到的比较要命的异常问题的修正办法. 异常情况描述 我的项目使用的是C#版官方驱动,运转一直良好,今天在访问期间突然就出现了这样的异常,并且无论怎么刷新都无法恢复: MongoDB.Bson.TruncationException: Truncation resulted in dat…
using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Builders; using MongoDB.Driver.GridFS; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespa…
下载驱动 驱动的下载有两种方式:一种是在C#项目中通过NuGet进行安装,另一种是通过下面的链接:https://github.com/mongodb/mongo-csharp-driver/releases 直接下载msi进行安装或zip压缩包.不管哪种方式,其主要的目的都是获取两个dll文件:MongoDB.Bson.dll.MongoDB.Driver.dll.这是在程序中需要引用的两个类库文件. .NET版本要求 目前最新版的C#驱动是1.9.2,是在 .NET3.5的基础上构建的,所以…
可能是由于.NET Core还不是正式版的缘故吧,MongoDB的官方Driver(http://mongodb.github.io/mongo-csharp-driver/)一直不支持.NET Core,这给想在.NET Core上尝试MongoDB带来了不便,本人就是其中之一 :) 于是Fork了官方的source code,没有太多的修改,就可以运行了,于是打包发布,不敢独享! 可以在Nuget上搜 ”RaisingStudio.MongoDB.Driver“ 找到这个包,也可以直接用Pa…
一.前言 现在越来越多的公司开始采用非关系数据库了,并且很多公司的面试都要求面试者有MongoDB的使用经验,至于非关系数据库与关系型数据库之间的区别大家可以自行百度.但是作为程序员的我们,既然大部分公司都需要有NOSQL的使用经验,自然我们就应该学习起来了.所以也就有了这个系列了.NOSQL包括很多,但是使用最大的还是属于MongoDB和Redis.所以在本系列中将详细介绍下这两种非关系数据库的环境搭建和一些常规使用.本专题就首先介绍下MongoDB开发环境的搭建和完成一些简单的增删改查操作.…
如果你从来没有接触MongoDB或对MongoDB有一点了解,如果你是C#开发人员,那么你不妨花几分钟看看本文.本文将一步一步带您轻松入门. 阅读目录 一:简介 二:特点 三:下载安装和开启服务器 四:使用mongo.exe 执行数据库增删改查操作 五:更多命令 六:MongoDB语法与现有关系型数据库SQL语法比较 七:可视化的客户端管理工具MongoVUE 八:在C#中使用官方驱动操作MongoDB 九,在C#中使用samus驱动操作MongoDB 十:写个批处理,方便开启Mongodb服务…
在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各个方面来总结并记录一下这个新型.看似神秘的数据库使用过程.本文是这个系列的开篇,主要介绍一些MongoDB数据库的基础知识.安装过程.基础使用等方面. MongoDB是一款由C++编写的高性能.开源.无模式的常用非关系型数据库产品,是非关系数据库当中功能最丰富.最像关系数据库的数据库.它扩展了关系型…
MongoDB简介 MongoDB是近些年来流行起来的NoSql的代表,和传统数据库最大的区别是支持文档型数据库. 当然,现在的一些数据库通过自定义复合类型,可变长数组等手段也可以模拟文档型数据库. 例如在PostgreSQL中,以下是一个复合类型的例子 CREATE TYPE complex AS ( r double precision, i double precision ); CREATE TYPE inventory_item AS ( name text, supplier_id…
在下面流水账似的文章之前,先将一些感悟说一下. 1.如果一个系统对于某个功能在至少三个地方使用的话,必须将其抽象提炼出来,而且时间点最好是大规模测试之前. 2.提炼出来的功能,如果品质做得好,整个系统的品质也提高不少. 3.提炼出一个泛用的功能需要高度的技巧很时间,但是对于后期维护,应对需求变更是非常有好处的,甚至可以通过仅仅修改模型的特性就完成需求变更. 4.任何一个三年以上的CSharper都可以写一个性能和品质不错的功能,但是要将一个功能做到泛用,具有高度的可扩展性,需要10年左右的经验,…
MongoDB作为一个阶层型数据库,在很短的时间里面是不可能被大面积推广使用的, 本文作为一个实验性的课题,探讨一下MongoDB作为网站数据库的可能性. 1.MongoDB作为代替关系型数据库的可能性. 2.MongoDB作为代替文件服务器的可能性. 通过探讨来加强对于MongoDB的认识 环境准备 技术选型 1.由于是验证性质的课题,这里没有使用MVC5/6.如果有人对MVC6有兴趣,可以另开一个课题讨论.这里使用的是传统的WebForm. 2.使用MongoDB最新版本作为数据库 3.Mo…
1.新建MVC项目, 管理NuGet包,进入下载MongDB.net库文件 2.新增项目DAL数据访问层,引用以下库文件: 3.C# 访问MongoDB通用方法类: using MongoDB.Driver; using System; namespace DAL { public class MongoDb { public MongoDb(string host,string timeOut) { this.CONNECT_TIME_OUT = timeOut; this.MONGO_CON…
想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动貌似有很多种,如官方提供的samus. 实现思路大都类似.这里我们用官方提供的mongo-csharp-driver : 下载地址:http://github.com/mongodb/mongo-csharp-driver/downloads 解压之后得到两个dll: MongoDB.Driver.dll:顾名思义,驱动程序 MongoDB.Bson.dll:序列化.Json相关 然后在我们的程序中引用这两…
因为需要,写了一个基于泛型的helper,这样要使用起来方便一点. 为了大家也不重复造轮子,所以发出来希望能帮到谁. 复杂的查询最好用linq,这也是mongodb官方建议的. mongodb的C#配置 这部分很多文章都提到了,需要注意的是用的驱动与你的mongodb版本还有你.Net好像有点关系 我是mongodb-2.x,.NET4,driver我用的是1.x系列 2.x系列好像我这种配置用不起,大家可以试一试,貌似要.NET要4.5才行 驱动下载地址: https://github.com…
索引总概况 db.test.ensureIndex({"username":1})//创建索引 db.test.ensureIndex({"username":1, "age":-1})//创建复合索引 数字1表示username键的索引按升序存储,-1表示age键的索引按照降序方式存储. // 该索引被创建后,基于username和age的查询将会用到该索引,或者是基于username的查询也会用到该索引,但是只是基于age的查询将不会用到该复…