将多级 mongodb 文档转换为 Backbone.js 模型/集合

Translating multi-level mongodb documents into Backbone.js Models/Collections

本文关键字:js 模型 集合 Backbone 多级 mongodb 文档 转换      更新时间:2023-09-26

我的mongodb集合包含两个关键级别的文档和嵌入式文档,帖子和评论。下面是一个包含 2 条评论作为嵌入式文档的单个帖子文档。

{
    "__v" : 0,
    "_id" : ObjectId("502d7b33eac728b658000002"),
    "comments" : [
        {
            "_id" : ObjectId("502d7b39eac728b658000003"),
            "body" : "comment 1",
            "votes" : 1
        },
        {
            "_id" : ObjectId("502d7d1feac728b658000004"),
            "body" : "comment 2",
            "votes" : 0
        }
    ],
    "text" : "post 1",
}

我想将此结构映射到 Backbone.js PostCollection、PostModel、CommentCollection 和 CommentModel,其中 PostModel 包含一个 CommentCollection。我还希望每次在PostCollection或PostModel上调用fetch()时都保留这一点,因为这将从REST API同步。

我还想听 Backbone .js我上面指定的所有集合和模型上的"更改"和"添加"事件。

解决这个问题

的方法是什么?

Checkout backbone-relational,它包含使用 HasOne 和 HasMany 逻辑在模型和集合之间进行关联的代码。