gpt4 book ai didi

javascript - mongodb 和 mongomapper

转载 作者:行者123 更新时间:2023-11-28 02:54:03 26 4
gpt4 key购买 nike

我有一个 Rails 应用程序,当前使用 activerecord 来存储和查询产品。

每个产品都有一个类别和子类别,每个子类别由我可以在应用程序中创建的多个字段定义。由此,当用户想要输入特定产品时,他们会被按下相关的表单字段。

这已经变得非常复杂,自从听说 mongodb 和 mongomapper 后,我想或者希望我从一开始就使用 mongomapper 创建了它!!!

问题是我想知道在 mongodb 中建模这个应用程序的最佳方法???

我正在考虑建立一个具有公共(public)字段的产品模型,然后让类别模型继承自具有不同字段的产品模型。

这听起来正确吗?

问题还在于我希望用户能够从应用程序内创建自己的类别和字段。例如,当用户创建一个包含速度和门数等字段的汽车类别时,我该如何执行此操作。然后我需要能够使用这些字段创建一个表单以供输入 future 的汽车。

任何人都可以帮助我的想法、指示或示例都会很棒。

提前非常感谢 rake

最佳答案

好吧,我不是 Ruby/Mongomapper 专家,所以我无法将其映射到“模型”中。但是,如果您从 Mongo 的 Angular 来看这一点,那么您可能希望数据在 Mongo 中显示如下。

集合:类别

{"_id" : "car"}
{"_id" : "vintage_car", "parent" : "car", "fields" : ["year" : "integer", "original_parts" : "boolean", "upgrades" : "text"] }

系列:产品

{"_id" : "1234", "name" : "Model-T", "category" : "car", "sub-category" : "vintage_car", "values" : ["year" : 1942, "original_parts" : false, "upgrades : "XM Radio"] }

所以你这里的内容非常简单。您有一个包含所有类别和子类别的集合。如果一个对象是“子类别”,它将设置一个“父”字段。如果没有“父”字段,则该对象是“类别”。

每个子类别都有一个“fields”元素。 “fields”实际上是一个成对的数组。这将使渲染变得容易。如果有人输入一辆老式汽车,您会查找“老式汽车”类别,然后循环遍历“字段”以呈现适当的输入框。我使用了简单的东西,比如“整数”和“ bool 值”,但你真的可以把你想要的任何东西放在这里(“日期选择器”,“复选框”,......)这一切都取决于你。

现在产品本身基本上存储了对类别和子类别的引用。它还存储您输入的所有字段的值。

因此,产品拥有所需的所有数据,这应该使每个产品都非常容易呈现。加载产品和适当的子类别,您将获得动态呈现页面所需的所有信息。

编辑

回复评论,类别中的“字段”可以使用度量单位构建:

..."fields": [{"length","meters","float"},{"weight","kg","float"},...]

关于javascript - mongodb 和 mongomapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3097842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com