数据库结构常量
Database structure constants
我加入了这个使用 MongoDB 的新项目,我看到了这个结构:
集合:用户
salutation (ObjectId) name (String) status (ObjectId)
ObjectId("111") Mark ObjectId("112")
集合:值
_id description (String)
ObjectId("111") Mr.
ObjectId("112") active
对于所有不可更改的值,它们指的是Values 集合的id。我不知道这是否是关系数据库中的常见做法,但我目前还没有在 MongoDB 中看到它。
他们使用 Nestjs 和 Mongoose。
对于每个请求,他们需要查询用户集合和多次值集合。这是一个好方法吗?
请避免使用 Values 集合,这在 mongo 中不是一个好的标准。如果您想要一个有效的称呼值列表,您可以创建一个称呼集合等等。
然而,一切都将取决于用例。有时您将能够嵌套属性,有时您将需要一个不同的集合并使用对象 ID 指向该新集合。
您可以在此处阅读所有 mongo 设计模式和每个用例:https://www.mongodb.com/blog/post/building-with-patterns-a-summary
我觉得在这种情况下,您应该将用户的值嵌套在用户集合中,这样就可以了
你可以有这样的东西:
{
"name": "Derek",
"status": "active",
"salutation": "Mr."
}
否则,您将需要以某种方式进行查找以获取值,这不会有很好的性能。
我加入了这个使用 MongoDB 的新项目,我看到了这个结构:
集合:用户
salutation (ObjectId) name (String) status (ObjectId)
ObjectId("111") Mark ObjectId("112")
集合:值
_id description (String)
ObjectId("111") Mr.
ObjectId("112") active
对于所有不可更改的值,它们指的是Values 集合的id。我不知道这是否是关系数据库中的常见做法,但我目前还没有在 MongoDB 中看到它。
他们使用 Nestjs 和 Mongoose。
对于每个请求,他们需要查询用户集合和多次值集合。这是一个好方法吗?
请避免使用 Values 集合,这在 mongo 中不是一个好的标准。如果您想要一个有效的称呼值列表,您可以创建一个称呼集合等等。
然而,一切都将取决于用例。有时您将能够嵌套属性,有时您将需要一个不同的集合并使用对象 ID 指向该新集合。
您可以在此处阅读所有 mongo 设计模式和每个用例:https://www.mongodb.com/blog/post/building-with-patterns-a-summary
我觉得在这种情况下,您应该将用户的值嵌套在用户集合中,这样就可以了
你可以有这样的东西:
{
"name": "Derek",
"status": "active",
"salutation": "Mr."
}
否则,您将需要以某种方式进行查找以获取值,这不会有很好的性能。