javascript - CouchDB 更新相关文档的最佳实践

标签 javascript node.js nosql couchdb updates

我在这些文档示例中使用了CouchDBNodeJs

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/

相关文章:

javascript - 未找到 Angular 返回路线上的 Jasmine 单元测试

javascript - 如何在同一对象键下存储不同类型的函数?

javascript - 在express.js 中使用 Pug-Jade 将内容附加到已渲染的页面

javascript - 为什么此代码使用 Angular JS 给出 ngRoute 的注入(inject)器模块错误?

javascript - 对 Sequelize 中的链式 promise 使用 then promise 时 undefined object

json - MongoDB,将对象数组更改为包含其 ObjectId 的字符串数组

mysql - 在 NoSQL 中搜索数据数组的效率如何

javascript - 如何停止嵌入 iframe 播放的 youtube 视频, slider 旋转时以及选项卡处于非事件状态时?

javascript - 调试复杂的 HTML/CSS/JavaScript 页面是否可行?

nosql - 用于创建多个节点和关系的 Cypher 查询