Mongodb 如何存储用户对数据库对象的评分
Mongodb how to store ratings that users have given to database objects
我正在尝试为我正在开发的 MEAN.js 应用程序设计架构,但我在决定如何存储一些数据时遇到了一些问题。
该系统将允许用户登录并对每周的清洁杂务进行评分,以了解他们在任何给定的一周内将特定的杂务分配给他们的快乐程度。这些评级将用于优化家务分配的幸福感。
我已经完成了琐事和用户设置并准备就绪,但我不确定如何正确存储用户评分。
我可以将带有评级的用户 ID 存储在杂项对象中,或者将带有评级的杂项 ID 存储在用户对象中。如果我理解正确的话,这是对非关系数据库的误用。
我可以创建第三个数据库对象,"ratings",它可以存储评级,但它在逻辑上必须引用其他两个对象,这对我来说也是一种误用。
还有别的办法吗?我需要切换到关系数据库吗?我的其中一种方式实际上是应该采用的方式吗?
谢谢!
在决定此处需要做什么之前,您还必须考虑许多其他因素。 mongodb 或任何 NoSQL DB 中的数据库建模是基于将在系统中使用的查询来完成的。在您做出任何决定之前,请尝试回答以下问题。
- 您的评分数据的 read/write 比率是多少
- 用户和家务之间有什么样的关系,one-to-one/one-to-few/one-to-many/one-to-too-many。
不必担心您必须进行的应用程序级连接,因为它们几乎与数据库级连接一样昂贵。This 可能会帮助您获得更多理解。
我正在尝试为我正在开发的 MEAN.js 应用程序设计架构,但我在决定如何存储一些数据时遇到了一些问题。
该系统将允许用户登录并对每周的清洁杂务进行评分,以了解他们在任何给定的一周内将特定的杂务分配给他们的快乐程度。这些评级将用于优化家务分配的幸福感。
我已经完成了琐事和用户设置并准备就绪,但我不确定如何正确存储用户评分。
我可以将带有评级的用户 ID 存储在杂项对象中,或者将带有评级的杂项 ID 存储在用户对象中。如果我理解正确的话,这是对非关系数据库的误用。
我可以创建第三个数据库对象,"ratings",它可以存储评级,但它在逻辑上必须引用其他两个对象,这对我来说也是一种误用。
还有别的办法吗?我需要切换到关系数据库吗?我的其中一种方式实际上是应该采用的方式吗?
谢谢!
在决定此处需要做什么之前,您还必须考虑许多其他因素。 mongodb 或任何 NoSQL DB 中的数据库建模是基于将在系统中使用的查询来完成的。在您做出任何决定之前,请尝试回答以下问题。
- 您的评分数据的 read/write 比率是多少
- 用户和家务之间有什么样的关系,one-to-one/one-to-few/one-to-many/one-to-too-many。
不必担心您必须进行的应用程序级连接,因为它们几乎与数据库级连接一样昂贵。This 可能会帮助您获得更多理解。