Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb NoSQL数据库如何处理面向对象的数据?_Mongodb_Cassandra_Nosql - Fatal编程技术网

Mongodb NoSQL数据库如何处理面向对象的数据?

Mongodb NoSQL数据库如何处理面向对象的数据?,mongodb,cassandra,nosql,Mongodb,Cassandra,Nosql,如果我想使用NoSQL数据存储,比如ApacheCassandra或MongoDB,来存储被很好地描述为面向对象的数据 我遇到的问题是,虽然OOP原则可以工作,因为我有可以使用继承(即和是的子类型)通过对象树很好地组织的对象,但我不能在编译时定义每个对象类型上的所有潜在属性。我需要让用户能够灵活地定义新属性并为其分配数据 我喜欢文档数据库的想法,它可以灵活地用于文档(对象)中的新键值对和全文搜索/MapReduce来查找数据 这在这些平台上容易做到吗?一般来说,是的,如果您希望让软件更好地控制数

如果我想使用NoSQL数据存储,比如ApacheCassandra或MongoDB,来存储被很好地描述为面向对象的数据

我遇到的问题是,虽然OOP原则可以工作,因为我有可以使用继承(即和是的子类型)通过对象树很好地组织的对象,但我不能在编译时定义每个对象类型上的所有潜在属性。我需要让用户能够灵活地定义新属性并为其分配数据

我喜欢文档数据库的想法,它可以灵活地用于文档(对象)中的新键值对和全文搜索/MapReduce来查找数据


这在这些平台上容易做到吗?

一般来说,是的,如果您希望让软件更好地控制数据而不是数据库,那么NoSQL产品对于这个用例通常更“阻抗匹配”


(销售警告)MongoDB使用文档模型和内省数据作为模式范例,特别适合您描述的用例

您可以使用任何基于文档的NoSQL解决方案。哪一个更好取决于您的要求。如果你担心速度,那么就使用塔兰托,如果不是,那么就使用卡桑德拉或蒙加套装。

如果你想体验蒙哥达,你可以在我为它制作的草稿本上玩: