MongoDb查询和system.linq

时间:2014-11-01 19:22:01

标签: c# mongodb linq database nosql

当我使用System.linq查询MongoCollection中的对象时:

var result = collection.Find(query).Where(x => x.something == something);

这是对数据库或内存中的集合进行的查询吗?

例如" SetSkip"在MongoDb中创建查询但是" Skip"在记忆中做到了。

如果"。"在记忆中完成有没有办法不这样做?

1 个答案:

答案 0 :(得分:1)

.Where查询是通过IEnumerable.Where在内存中完成的,因为它是在Find调用的结果上执行的,该调用建立了要执行的MongoDB查询。

要将.Where查询合并到Find,您可以创建一个将两个查询合并在一起的新查询:

query = Query.And(query, Query<YourType>.EQ(x => x.something, something));
var result = collection.Find(query);