4
向Couchdb添加新用户时,是否可以将额外的配置文件字段添加到同一文档?Couchdb:在_user文档中添加用户配置文件属性
我知道我可以使用另一个带有用户配置文件的数据库来补充_users文档中的内容,但是_users文档是static的设计,或者向用户文档添加其他字段可以吗?
向Couchdb添加新用户时,是否可以将额外的配置文件字段添加到同一文档?Couchdb:在_user文档中添加用户配置文件属性
我知道我可以使用另一个带有用户配置文件的数据库来补充_users文档中的内容,但是_users文档是static的设计,或者向用户文档添加其他字段可以吗?
_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"
}
}
要检查的一件事是在_design/_auth
的validate_doc_update
功能。确保它不会阻止你做你需要的东西。目前(可能是无限期地),除了它需要的文档之外,它不检查文档中的任何属性(type
,name
,roles
等)。
只要记住这些文件是世界可读的。每个用户的私人数据应该放在每个用户的私人数据库中。
据我所知,如果您将读者用户或角色分配给数据库,那么_users数据库不是世界可读的。在这种情况下,只有拥有管理员权限的用户或具有角色的读者或具体在“名称”数组中列出的读者才能读取数据库。 – steveolyo 2011-02-01 04:24:29