开发者

Couchdb: Adding User Profile Attributes in _user documents

When adding new users to Couchdb, is it appropriate to add extra profile fields to the same document?

I know I could have another db with user profiles in it to supplement what is in the _users docu开发者_JAVA技巧ments, but is the design of the _users documents static, or would it be ok to add additional fields to the users documents?


The _users database is a great place to store information about users. The design of the documents is relaxed, so I would not worry about adding fields. (Removing some could be risky though.) You could consider adding an object in the document for all your data:

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

The one thing you want to check is the validate_doc_update function in _design/_auth. Make sure it is not going to prevent you from doing what you need. Currently (probably indefinitely) it does not check any attributes in the document besides those it needs (type, name, roles, etc.).

Just remember that these documents are world-readable. Per-user private data should go in a per-user private database.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜