Couchdb: Добавление атрибутов профиля пользователя в документы _user - PullRequest
4 голосов
/ 31 января 2011

При добавлении новых пользователей в Couchdb уместно ли добавлять дополнительные поля профиля в тот же документ?

Я знаю, что у меня может быть еще одна БД с профилями пользователей, чтобы дополнить то, что находится в документах _users, но является ли структура документов _users статичной, или было бы хорошо добавить дополнительные поля в документы пользователей?

1 Ответ

3 голосов
/ 31 января 2011

База данных _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 и т. Д.).

Просто помните, что эти документы доступны для чтения. Персональные данные для каждого пользователя должны помещаться в личную базу данных для каждого пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...