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

ParseServerアプリケーションのMongoDBインデックス作成

    インデックスは、実際にはクエリがどのように見えるかに依存する必要があります。メッセージクエリが次のようになっているとします。

    var query = new Parse.Query("Message");
    query.equalTo("chatRoom", aChatRoom);
    query.equalTo("user", someUser);
    query.equalTo("isSeen", false);
    query.descending("createdAt");
    query.find().then(function(results){//whatever});
    

    次に、このクエリ専用のメッセージコレクションにインデックスを作成する必要があります。この場合:

    db.Message.createIndex({_p_chatRoom:1, _p_user:1, isSeen: -1, _created_at: -1})

    または、チャットルームだけのインデックスは、インデックスがまったくない場合よりもはるかに優れたパフォーマンスを発揮します

    db.Message.createIndex({_p_chatRoom:1})

    構築するインデックスを実際に理解するには、Mongoドキュメント https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex

    私はParseMongoDBに個人的にMLabを使用しています。これは、データベースについてあまり知識がなく、実際には、アプリケーションの一般的なクエリに基づいてインデックスを推奨する低速のクエリアナライザーを備えているため、より細かい点を学びたくない場合はMongoDBインデックス作成の場合、MLabは開始するのに最適な場所です




    1. MongoDB$演算子

    2. ruby Digest ::SHA1インスタンスオブジェクトをシリアル化できますか?

    3. mongodおよびmongoコマンドがWindows10で機能しない

    4. アプリケーションでマングースが発火するすべてのクエリをログに記録する