sql >> Database teknologi >  >> NoSQL >> MongoDB

Er der en forklaringsforespørgsel til MongoDB Linq?

Du kan få Json let nok, hvis du har en forespørgselsindpakning;

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

Der er også en Explain()-metode på MongoCursor, så du kan gøre dette;

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

Så hvis du vil have tiden taget, er "millis" derinde;

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

Hvis du har en IQueryable , prøv noget som dette;

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. Sådan opretter du bruger og tilføjer rolle i MongoDB

  2. MongoDB vælg hvor i rækken af ​​_id?

  3. explain() i Mongodb:forskelle mellem nscanned og nscannedObjects

  4. Redis - Brug af CONFIG SET på farten i et master-slave-forhold