【问题标题】:Best way to store 'sortable friendly' nested data in mongoose?在猫鼬中存储“可排序友好”嵌套数据的最佳方式?
【发布时间】:2021-07-31 00:45:44
【问题描述】:

我需要让我的用户能够输入图书类别(从预先确定的列表中),并按他们希望的任何方式按类别和每个类别中的图书对他们的图书馆进行排序。

在 JSON 中,我会像这样存储数据:

Library: {
 'Book category 1': [ { id: 1, title: 'Title 1', price: 33 }, { id: 2, title: 'Title 1', price: 33 }],
 'Book category 2': [ { id: 3, title: 'Title 2', price: 22 }, { id: 4, title: 'Title 1', price: 33 }],
 'Book category 3': [ { id: 5, title: 'Title 2', price: 22 }, { id: 6, title: 'Title 1', price: 33 }]
}

这使我能够按 1) 类别和 2) 每个类别条目存储排序顺序,这是我的主要要求。 (假设图书馆中的对象保持键顺序,书籍数组也是如此)

我正在努力思考如何在猫鼬中做到这一点。我正在查看嵌套对象和带有子模式的 Map 类型,但没有足够的经验来做出明智的决定。

谢谢!

【问题讨论】:

    标签: mongodb mongoose mongoose-schema


    【解决方案1】:

    如果您希望能够按类别和标题排序,您的架构可以这样

    new mongoose.Schema({
        id: Number,
        title: String,
        price: Number,
        category:  String
    })
    

    然后您可以按标题或/和类别对其进行排序

    LibraryModel.find().sort({/* title: 1 or category: 1 */})
    

    【讨论】:

    • 排序是任意的和用户定义的。所以我需要一个能够保存/表示顺序的数据结构。
    猜你喜欢
    • 2013-12-26
    • 2012-07-25
    • 1970-01-01
    • 2017-06-12
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    相关资源
    最近更新 更多