MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Có Truy vấn Giải thích cho MongoDB Linq không?

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()


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB nhận tất cả các trường + sắp xếp theo giá trị được tính từ nhiều trường

  2. Node.js MongoDB Tìm với phép chiếu để loại trừ _id vẫn trả về nó

  3. xóa các giá trị mảng trùng lặp khỏi mongodb

  4. Cập nhật mảng với nhiều điều kiện trong mongodb

  5. mongoDB Tham gia trên nhiều trường