2011-01-31 104 views
4

向Couchdb添加新用户时,是否可以将额外的配置文件字段添加到同一文档?Couchdb:在_user文档中添加用户配置文件属性

我知道我可以使用另一个带有用户配置文件的数据库来补充_users文档中的内容,但是_users文档是static的设计,或者向用户文档添加其他字段可以吗?

回答

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" 
    } 
} 

要检查的一件事是在_design/_authvalidate_doc_update功能。确保它不会阻止你做你需要的东西。目前(可能是无限期地),除了它需要的文档之外,它不检查文档中的任何属性(type,nameroles等)。

只要记住这些文件是世界可读的。每个用户的私人数据应该放在每个用户的私人数据库中。

+0

据我所知,如果您将读者用户或角色分配给数据库,那么_users数据库不是世界可读的。在这种情况下,只有拥有管理员权限的用户或具有角色的读者或具体在“名称”数组中列出的读者才能读取数据库。 – steveolyo 2011-02-01 04:24:29