sql >> データベース >  >> NoSQL >> MongoDB

MongoDB LinqのExplainクエリはありますか?

    クエリラッパーがあれば、Jsonを簡単に取得できます;

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

    MongoCursorにはExplain()メソッドもあるので、これを行うことができます;

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

    したがって、時間をかけたい場合は、「ミリス」がそこにあります。

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

    IQueryableがある場合 、このようなことを試してください;

    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. マングースはネストされた配列にデータを入力します

    2. 大文字と小文字を区別せずにmongoでユーザー名にインデックスを付ける方法は?

    3. Laravel:Redis接続できませんでした:[tcp://127.0.0.1:6379]

    4. いつインデックスを作成するか、Mongoidで何をインデックスに登録するか?