Mongodb NoSQL数据库如何处理面向对象的数据?
如果我想使用NoSQL数据存储,比如ApacheCassandra或MongoDB,来存储被很好地描述为面向对象的数据 我遇到的问题是,虽然OOP原则可以工作,因为我有可以使用继承(即和是的子类型)通过对象树很好地组织的对象,但我不能在编译时定义每个对象类型上的所有潜在属性。我需要让用户能够灵活地定义新属性并为其分配数据 我喜欢文档数据库的想法,它可以灵活地用于文档(对象)中的新键值对和全文搜索/MapReduce来查找数据Mongodb NoSQL数据库如何处理面向对象的数据?,mongodb,cassandra,nosql,Mongodb,Cassandra,Nosql,如果我想使用NoSQL数据存储,比如ApacheCassandra或MongoDB,来存储被很好地描述为面向对象的数据 我遇到的问题是,虽然OOP原则可以工作,因为我有可以使用继承(即和是的子类型)通过对象树很好地组织的对象,但我不能在编译时定义每个对象类型上的所有潜在属性。我需要让用户能够灵活地定义新属性并为其分配数据 我喜欢文档数据库的想法,它可以灵活地用于文档(对象)中的新键值对和全文搜索/MapReduce来查找数据 这在这些平台上容易做到吗?一般来说,是的,如果您希望让软件更好地控制数
这在这些平台上容易做到吗?一般来说,是的,如果您希望让软件更好地控制数据而不是数据库,那么NoSQL产品对于这个用例通常更“阻抗匹配”
(销售警告)MongoDB使用文档模型和内省数据作为模式范例,特别适合您描述的用例 您可以使用任何基于文档的NoSQL解决方案。哪一个更好取决于您的要求。如果你担心速度,那么就使用塔兰托,如果不是,那么就使用卡桑德拉或蒙加套装。如果你想体验蒙哥达,你可以在我为它制作的草稿本上玩: