起初,我认为在没有在模型中定义的情况下,可以向对象添加内容非常酷。但现在我无法想象如何在像Ruby on Rails应用程序这样的Web应用程序中使用它。哪些用例需要动态字段以及UI如何允许用户定义这些动态字段?您是否让用户为动态字段设置了密钥(带有文本框或其他内容)?你们中的任何一个人都知道,任何演示都是一般的应用程序,展示了动态字段的实际用途吗?另外,如果您打算阅读这些动态字段,那么您是否需要read_attribute
(在RoR的情况下),其名称为" dynamic"田野已经计划提前了吗?
我问这个问题,因为我在学校有一个任务,围绕PostgreSQL和一个NoSQL数据库(我选择MongoDB)包装一个应用程序。我已成功完成此操作,但是,我添加到MongoDB端已定义的任何对象的每个属性都已在模型中定义。我想表明我已经意识到这种能力,但是我无法提出任何使用动态字段的理由而且我无法在搜索中找到结果,并且目的是mongodb"中的动态字段或"动态字段mongodb demo"。
谢谢!
答案 0 :(得分:2)
首先"动态领域"是Mongoid concept,而Mongoid只是将ruby对象映射到MongoDB文档的ODM。 MongoDB不具备动态字段的概念,也不需要动态字段的概念,因为它是无模式的。虽然这在理论上意味着集合中的每个文档都可以具有不同的结构,但这绝不是MongoDB的实际应用。
像Mongoid这样的ODM提供了一种有用的机制来在应用程序级别而不是在数据库本身中定义模式。在这种情况下,Dynamic Fields有两大好处。
答案 1 :(得分:0)
我认为你错误地询问/寻找这个问题的答案,在我看来,最好的答案将来自源头,这里是来自MongoDB博客的帖子,我希望它会帮助你。