有没有办法直接使用c#驱动程序运行mongodb查询?我在mongodb中有以下查询:
db.EventEntries.distinct("Computer")
返回正确的结果,似乎是即时的。以我看到如何使用c#驱动程序运行命令时,
var result = collection.AsQueryable().Select(r => r.Computer).Distinct().ToList();
它以41194毫秒的速度返回结果。当我使用mongodb profiler时,我看到它被转换为的命令实际上是使用聚合和管道。有没有办法以与本机dictinct查询相同的方式运行不同的查询?或者有更好的方法在C#驱动程序中运行它?我使用的是MongoDB驱动程序的2.4.3版本。
编辑:我已经在C#中连续多次运行查询,它从最初的41194毫秒到69301毫秒。它创建的查询是
db.EventEntries.aggregate([{ "$group" : { "_id" : "$Computer" } }])}
如果我直接在Mongo shell中运行,根据探查器完成需要59147毫秒。