2011-06-08 113 views
3

鉴于此包装:流利蒙戈COUNT()性能

public MongoCollection<TEntity> GetQuery<TEntity>() where TEntity : class 
    { 
     var query = DataBase.GetCollection<TEntity>(typeof(TEntity).Name + "s"); 
     return query; 
    } 

    public long Count<TEntity>(System.Linq.Expressions.Expression<Func<TEntity, bool>> criteria) where TEntity : class 
    { 
     return this.GetQuery<TEntity>().AsQueryable().Count(criteria); 
    } 

如果我调用COUNT(),将查询服务器上执行的文档here中规定?

var count = db<MyEntity>.Count(x => x.Foo = "foo"); 

回答

3

是的。它将在服务器端执行。您可以通过在MongoDB服务器上开始分析并查看执行的内容来验证这一点。

+0

谢谢你的快速周转! – rboarman 2011-06-08 01:03:04