Couchdb:在用户文档中添加用户配置文件属性

Couchdb:在用户文档中添加用户配置文件属性,couchdb,field,Couchdb,Field,在向Couchdb添加新用户时,向同一文档添加额外的概要文件字段是否合适 我知道我可以有另一个数据库,其中包含用户配置文件,以补充“U用户”文档中的内容,但是“U用户”文档的设计是静态的,还是可以向“用户”文档添加其他字段?用户数据库是存储用户信息的好地方。文档的设计很轻松,因此我不必担心添加字段。(删除一些可能是危险的。)您可以考虑在文档中添加一个对象以获得所有的数据: { "_id": "org.couchdb.user:jhs" , "_rev": "3-281e87af31d7d8277

在向Couchdb添加新用户时,向同一文档添加额外的概要文件字段是否合适


我知道我可以有另一个数据库,其中包含用户配置文件,以补充“U用户”文档中的内容,但是“U用户”文档的设计是静态的,还是可以向“用户”文档添加其他字段?

用户数据库是存储用户信息的好地方。文档的设计很轻松,因此我不必担心添加字段。(删除一些可能是危险的。)您可以考虑在文档中添加一个对象以获得所有的数据:

{ "_id": "org.couchdb.user:jhs"
, "_rev": "3-281e87af31d7d8277463732dccc06f65"
, "name": "jhs"
, "type": "user"
, "roles": ["whatever"]
// (etc.)
, "myapp":
  { "profile_photo": "http://example.com/some_photo.png"
  , "favorite_color": "blue"
  }
}
您要检查的一件事是
\u design/\u auth
中的
验证\u doc\u update
功能。确保它不会阻止你做你需要的事情。目前(可能是无限期地)它不检查文档中除所需属性以外的任何属性(
类型
名称
角色
,等等)


请记住,这些文档是世界可读的。每个用户的私有数据应该放在每个用户的私有数据库中。

据我所知,如果您为数据库分配了读卡器用户或角色,则\u用户数据库不是世界可读的。在这种情况下,只有具有管理员权限的用户或具有角色或在“名称”数组中特别列出的读卡器才能读取数据库。这是正确的,但是数据库必须是世界可读的,用户才能创建帐户。如果不需要创建匿名帐户,可以将其关闭。不过,如果用户可以看到自己的文档,那么他们也可以看到所有其他用户的文档。