在我的网络应用程序 XY 中,我向用户展示了一个经典的数据(文档)列表/表格。虽然 MongoDB(和 Mongoose,我使用 Mongoose)提供的所有排序功能对我来说都非常清楚,但我对按日期或字母顺序排序不感兴趣。就我而言,让用户维护自定义排序非常重要,例如手动拖放项目以设置文档的特定顺序(例如,将收藏夹放在列表顶部)。执行此操作的 UI 是显而易见的,但如何实际将订单保存在数据库中,则令人费解。
问题 :我将如何保存这样的自定义文档顺序?
我用什么:NodeJS / Express / Mongoose (MongoDB)
Ideas
到目前为止,我可以想到两个关于如何做到这一点的想法。
-
A:有一个额外的密钥(例如
orderKey
)在猫鼬模式中。大缺点:我需要不断更新所有文档 orderKeys。此外,我还需要对新文档进行某种自动增量。
const mySch = new Schema({
orderKey : { type : Number }
});
-
B:创建一个仅用于排序的架构/模型,并带有
Array
例如,包括所有文档 _ids。数组中元素的顺序将用作文档的自定义顺序的参考。每当顺序改变时,这Array
也会被改变。
conts orderSch = new Schema({
orderArray : { type : Array }
});
mongoose.model('Order', orderSch);
/* const customOrder = new Order({
orderArray : [ _id1, _id2, _id3, _id10, _id7, .. ]
}); */
任何更多的想法或最佳实践都受到高度赞赏!
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)