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

Trelloは、カード、リスト、チェックリストなどの再配置をどのように処理しますか

    各アイテムにはposが与えられます (JavaScript番号なので、倍精度浮動小数点)。次に、posで並べ替えてレンダリングします。 。

    新しいアイテムが追加されると、それはposになります リストのどこにあるかに基づいています:

    • リストの一番下-最大pos 現在リストにあります+バッファ(1024だと思います 使用されます)
    • リストの一番上-最小のpos 現在、2で割ったリストにあります
    • リストの中央-posの平均 隣接する2つのアイテムの

    真ん中のオプションはクライアントによって割り当てられます。上/下は、クライアントによって割り当てられるか、文字列"top"としてサーバーに渡されます。 または"bottom" その場合、サーバーがロジックを実行します。

    サーバー上で、posを割り当てた後 上記のように新しいアイテムに対して、アイテムは隣接関係について最近傍に対してチェックされます-それらが最小距離(.01)未満である場合 使用されていると思います)、それらは分散しています(posの増加にカスケードする可能性があります リスト全体の)。

    これが理想的な方法ではないと思いますが、Trelloのやり方です。




    1. mongodbの配列から要素を削除します

    2. モジュール'../build/Release/bson']コードが見つかりません:'MODULE_NOT_FOUND'} js-bson:純粋なJSバージョンを使用してc++bson拡張機能を読み込めませんでした

    3. MongoDBの属性との多対多の関係を表すための最良のモデル

    4. 異なるフィールドのMongoid同じ埋め込みドキュメントタイプ