今天要说一个东西就是Samus驱动里的 Document 和他的一个子类 Op
在Samus驱动的增删改查方法中都有这类的参数传递..
大致的使用方法是这样..
MongoU.Find<Person>(new Document().Add("Age",1));
这是查询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(20)));
剩下的就是灵活运用以上的这些东西..相信已经能够满足平常系统的需要了..