ソートされた(Mongodb)オブジェクトのコレクションがあります:
{"_id": ObjectId(...), "person": "Homer", "order": 1},
{"_id": ObjectId(...), "person": "Marge", "order": 2}
2つのオブジェクトの間に別のオブジェクトを追加、追加、または挿入したいと思います。私は次のような浮動小数点数を使用してこれを試しました:
{"_id": ObjectId(...), "person": "Homer", "order": 1},
{"_id": ObjectId(...), "person": "Bart", "order": 1.5},
{"_id": ObjectId(...), "person": "Marge", "order": 2}
順序値はorder
、前のオブジェクトと次のオブジェクトのフィールドの算術平均です。数字がのように見えない限り、機能します1.9999999
。次に、2に丸められ、コレクションはソートされません。私はこのように整数を使うことができます:
{"_id": ObjectId(...), "person": "Homer", "order": 1},
{"_id": ObjectId(...), "person": "Bart", "order": 2},
{"_id": ObjectId(...), "person": "Marge", "order": 3}
しかし、それは他のオブジェクトを変更する必要があることを意味し、私はむしろそれを避けたいと思います。
順序を防ぐために文字列と字句ソートを使用することを考えました。
{"_id": ObjectId(...), "person": "Homer", "order": aa},
{"_id": ObjectId(...), "person": "Bart", "order": ab},
{"_id": ObjectId(...), "person": "Marge", "order": bb}
しかし、実装するのは難しいようです。それを行う簡単な方法はありますか?