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

MongoDBカスタムソート

    このような並べ替えを行う場合は、データを別の方法で保存することをお勧めします。のMongoDBは、一般に、ネストされたドキュメントを操作するのにトップレベルのフィールドほど良くありません。あなたの場合、ptime、pt、uidをそれぞれのコレクションに分割することをお勧めします:

    メッセージ

    {
        "_id":417,
        "ptime":ISODate("2013-11-26T11:18:42.961Z"),
        "type":"1",
        "txt":"test message"
    },  
    

    ユーザー

    {
        "id":417,
        "ptime":ISODate("2013-11-26T11:18:42.961Z"),
        "uid":"52872ed59542f",
        "pt":ISODate("2013-11-26T11:18:42.961Z")
    },
    {
        "id":417,
        "ptime":ISODate("2013-11-26T11:18:42.961Z"),
        "uid":"524eb460986e4",
        "pt":ISODate("2013-11-26T11:18:42.961Z")
    },
    {
        "id":417,
        "ptime":ISODate("2013-11-26T11:18:42.961Z"),
        "uid":"524179060781e",
        "pt":ISODate("2013-11-27T12:48:35Z")
    }
    

    次に、uid、ptime、およびptのユーザーコレクションにインデックスを設定できます。

    ただし、テキストメッセージ自体も取得するには、2つのクエリを実行する必要があります。



    1. オープンソースデータベースを管理するための新しい方法

    2. MeteorJSのMongoDBコレクションでサブドキュメントの配列を更新する方法

    3. Mongo DBデザイン、埋め込みと関係

    4. リフト用のmongo認証アプリをビルドするにはsbt0.11.2が必要です