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

埋め込まれたドキュメントのmongodb制限

    MongoDBドキュメント 配列要素のサブ範囲を選択する方法を説明します。

    db.dialogs.find({"_id": [dialogId]}, {msgs:{$slice: 5}}) // first 5 comments
    db.dialogs.find({"_id": [dialogId]}, {msgs:{$slice: -5}}) // last 5 comments
    db.dialogs.find({"_id": [dialogId]}, {msgs:{$slice: [20, 10]}}) // skip 20, limit 10
    db.dialogs.find({"_id": [dialogId]}, {msgs:{$slice: [-20, 10]}}) // 20 from end, limit 10
    

    この手法を使用して、UIに関連するメッセージのみを選択できます。ただし、これが優れたスキーマ設計であるかどうかはわかりません。 「表示されている」メッセージを「アーカイブされた」メッセージから分離することを検討することをお勧めします。クエリが少し簡単/高速になる可能性があります。



    1. マングースドキュメントではなくjsonオブジェクトの配列を取得する方法

    2. cURLを悪用してRedisと通信する

    3. タイプOption[reactivemongo.bson.BSONObjectID]のJsonデシリアライザーが見つかりません

    4. SpringDataMongoDB集計-計算値との一致