【问题标题】:MongoDb queries and system.linqMongoDb 查询和 system.linq
【发布时间】:2014-11-01 19:22:00
【问题描述】:

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

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

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

例如,“SetSkip”在 MongoDb 中创建查询,但“Skip”在内存中完成。

如果“.Where”在内存中完成,有没有办法不这样做?

【问题讨论】:

    标签: c# mongodb linq database nosql


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-01
      • 2013-09-28
      • 1970-01-01
      • 2023-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多