Bạn có thể dễ dàng nhận được Json nếu bạn có trình bao bọc truy vấn;
var qLinq = Query<T>.Where(x => x.name=="jim");
Console.WriteLine(qLinq.ToJson());
Ngoài ra còn có một phương thức Giải thích () trên MongoCursor, vì vậy bạn có thể làm điều này;
var exp = Collection.FindAs<T>(qLinq).Explain()
Console.WriteLine(exp.ToJson());
Vì vậy, nếu bạn muốn thời gian thực hiện, "mili" ở đó;
var msTaken = exp.First(x => x.Name == "millis").Value.AsInt32;
Nếu bạn có IQueryable
, hãy thử một cái gì đó như thế này;
void Do(MongoCollection col, IQueryable iq)
{
// Json Mongo Query
var imq = (iq as MongoQueryable<Blob>).GetMongoQuery();
Console.WriteLine(imq.ToString());
// you could also just do;
// var cursor = col.FindAs(typeof(Blob), imq);
var cursor = MongoCursor.Create(typeof(Blob), col, imq, ReadPreference.Nearest);
var explainDoc = cursor.Explain();
Console.WriteLine(explainDoc);
}//Do()