今天要说一个东西就是Samus驱动里的 Document 和他的一个子类 Op
在Samus驱动的增删改查方法中都有这类的参数传递..
大致的使用方法是这样..
MongoU.Find<Person>(new Document().Add("Age",));
这是查询Person表中Age==1 的数据..
但是这有个问题..那就是不知道Document如何传递 类似 Age>20 或者 Age<>20 之类的条件..
直到后来我发现了Op对象.. 他继承于 Document ..
其中提供了很多像大于.. 小于.. 不等于之类的操作..
Op对象包含方法列表:
public static Op operator !(Op op); //不会用,请高手指点
public static Op operator &(Op op1, Op op2); //不会用,请高手指点 public static Op All<T>(params T[] values); //全部
public static Op Exists(); //要求存在
public static Op GreaterThan<T>(T value); //大于
public static Op GreaterThanOrEqual<T>(T value); //大于等于
public static Op In<T>(params T[] values); //被包含于 形同Sql里的in
public static Op LessThan<T>(T value); //小于
public static Op LessThanOrEqual<T>(T value); //小于等于
public static Op Mod(int denominator, int result); //于两数中间
public static Op NotEqual<T>(T value); //不等于
public static Op NotExists(); //要求不存在
public static Op NotIn<T>(params T[] values); //要求不被包含于
public static Op Size(int size); //长度
public static Op Type(BsonType bsonType); //类型
public static Op Where(string javascript); //不会用..有高手看到请指点..
有了Op对象之后..要查询 Age>20的数据..代码就要这么写了..
MongoU.Find<Person>(new Document().Add("Age", MongoDB.Op.GreaterThan()));
剩下的就是灵活运用以上的这些东西..相信已经能够满足平常系统的需要了..
Samus驱动中的Document条件的更多相关文章
-
Mongodb的Samus驱动
最近开始学习Mongodb方面的东西.. 看到有很多博主都说MongoDB的第三方驱动 Samus 对Linq的支持比较好..能够降低学习的成本..所以就想从这里开始.. 但是弊端在我学习了一半的时候 ...
-
通过MongoDB的samus驱动实现基本数据操作
一.MongoDB的驱动 MongoDB支持多种语言的驱动: 在此我们只介绍 C# 的驱动.仅C#驱动都有很多种,每种驱动的形式大致相同,但是细节各有千秋,因此代码不能通用.比较常用的是官方驱动和sa ...
-
MongoDB学习笔记(二) 通过samus驱动实现基本数据操作
传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由(database).集合(collection).文档对象(documen ...
-
通过samus驱动实现基本数据操作
传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由(database).集合(collection).文档对象(documen ...
-
(转载)MongoDB C#驱动中Query几个方法
MongoDB C#驱动中Query几个方法 Query.All("name", "a", "b");//通过多个元素来匹配数组 Query ...
-
JavaScript中的document.cookie的使用
转:http://blog.csdn.net/liuyong0818/article/details/4807473 我们已经知道,在 document 对象中有一个 cookie 属性.但是 Coo ...
-
Linux设备驱动中的阻塞和非阻塞I/O
[基本概念] 1.阻塞 阻塞操作是指在执行设备操作时,托不能获得资源,则挂起进程直到满足操作所需的条件后再进行操作.被挂起的进程进入休眠状态(不占用cpu资源),从调度器的运行队列转移到等待队列,直到 ...
-
蜕变成蝶~Linux设备驱动中的阻塞和非阻塞I/O
今天意外收到一个消息,真是惊呆我了,博客轩给我发了信息,说是俺的博客文章有特色可以出本书,,这简直让我受宠若惊,俺只是个大三的技术宅,写的博客也是自己所学的一些见解和在网上看到我一些博文以及帖子里综合 ...
-
Linux设备驱动中的IO模型---阻塞和非阻塞IO【转】
在前面学习网络编程时,曾经学过I/O模型 Linux 系统应用编程——网络编程(I/O模型),下面学习一下I/O模型在设备驱动中的应用. 回顾一下在Unix/Linux下共有五种I/O模型,分别是: ...
随机推荐
-
参考__HTML5 Game
基础知识 TypeScript TypeScript 目录教程 Egret Egret II HTML5晃动DeviceMotionEvent事件 博客 html5tricks 库和框架 html5t ...
-
用纯css改变下拉列表select框的默认样式
http://ourjs.com/detail/551b9b0529c8d81960000007 在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 问题的提出 事 ...
-
[转]ASP.NET MVC4+BootStrap 实战(一)
本文转自:http://leelei.blog.51cto.com/856755/1587301 好久没有写关于web开发的文章了,进到这个公司一直就是winform和Silverlight,实在是没 ...
-
JavaScript: JavaScript的简介和入门代码演示
1.Javascript的发展历史介绍: javascript是指的实在网页上编写的编程语言,其主要是控制器html的动态显示效果.HTMl能带来的只是一些基本的页面的风格,而要展示的漂亮使用CSS, ...
-
WinForm窗体设置
属性: 软件启动后在屏幕中间 StartPosition = CenterScreen取消放大按钮 MaximizeBox = false不能拖动边框 FormBorderStyle = FixedD ...
-
Linux学习 -- 用户和用户组管理
1 用户配置文件 1.1 用户信息文件 /etc/passwd 查看帮助 man 5 passwd -- account:password:UID:GID:GECOS:directory:shell ...
-
linux 安装 ftp 实现文件共享
转载:http://blog.sina.com.cn/s/blog_165e646820102xe1q.html 参考:1.http://www.cnblogs.com/mrcln/p/6179673 ...
- 随机生成三个数(break用法)
-
H.264从SPS中提取视频宽高
H.264有两种封装模式: (1)annexb模式:传统模式,使用start code来分隔NAL, SPS和PPS是在ES流的头部: (2)mp4模式:没有start code,使用NALU长度(固 ...
-
【本地服务器】用nginx进行反向代理处理(windows)
在通过json-server搭建本地服务器得到 http://localhost:3000/todos 的基础上,要想将接口改为www.test.com/todos这样的形式 ,则需要用nginx ...