我在这些文档示例中使用了CouchDB和NodeJs。
Role {
_id,
name
}
User {
_id,
email,
password,
role: {
_id,
name
}
}
当 Angular 色的_id相同时,更新 Angular 色并在用户内部执行此操作的最佳实践是什么。
这只是一个示例,在应用程序中,我们将在数据库的不同部分中存在多种重复文档的情况,我们需要这种更新以避免不一致。
最好的方法是什么?
最佳答案
通常,您会尝试尽可能多地嵌套关系。
但是,如果您需要一对多或多对多关系,则有两种选择。
1) 与 _Id 链接
此方法与在 SQL 中执行的方法几乎相同。它要求您执行多个查询(注意:您可以在 View 中发出相关文档)。
更新很容易(您只需更新相关文档)。不过,获取速度较慢。
2) 重复数据
另一种方法是在各处复制数据。如果要将 Angular 色链接到另一个用户,请在该用户中复制该 Angular 色。
这种方法读取速度更快,但更新更复杂。 要更新,您需要更新 Angular 色并更新每个重复的 Angular 色。
关于javascript - CouchDB 更新相关文档的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54127569/