MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy istnieje zapytanie wyjaśniające dla MongoDB Linq?

Możesz łatwo uzyskać Json, jeśli masz opakowanie zapytań;

var qLinq = Query<T>.Where(x => x.name=="jim");
Console.WriteLine(qLinq.ToJson());

W MongoCursor jest również metoda Explain(), więc możesz to zrobić;

var exp = Collection.FindAs<T>(qLinq).Explain()
Console.WriteLine(exp.ToJson());

Więc jeśli chcesz poświęcić czas, "millis" jest tam;

var msTaken = exp.First(x => x.Name == "millis").Value.AsInt32;

Jeśli masz IQueryable , spróbuj czegoś takiego;

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. Concat Ciąg według grupy

  2. Nie można połączyć się z alternatywną bazą danych Mongo w aplikacji Meteor

  3. Oblicz średnią pól w osadzonych dokumentach/tablicy

  4. Jak w Mongodb sprawdzić, czy wszystkie dokumenty są unikalne dla danej wartości?

  5. Używanie MongoDB wygenerowanych _ids jako tajnych danych (np. tokenów OAuth)