我有一个排序的(Mongodb)对象集合:
{"_id": ObjectId(...), "person": "Homer", "order": 1},
{"_id": ObjectId(...), "person": "Marge", "order": 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}
但似乎很难实施。有没有更简单的方法呢?