向Couchdb添加新用户时,是否适合在同一文档中添加额外的配置文件字段?
我知道我可以在其中添加另一个包含用户配置文件的数据库来补充_users文档中的内容,但是_users文档的设计是静态的,还是可以在用户文档中添加其他字段?
答案 0 :(得分:3)
_users
数据库是存储用户信息的好地方。文档的设计很放松,所以我不担心添加字段。 (删除一些可能会有风险。)您可以考虑在文档中为所有数据添加一个对象:
{ "_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"
}
}
您要检查的一件事是validate_doc_update
中的_design/_auth
功能。确保它不会阻止你做你需要的。目前(可能无限期地)它不会检查文档中除了需要的任何属性(type
,name
,roles
等)。
请记住,这些文件是世界可读的。每用户私有数据应该位于每用户私有数据库中。