К сожалению, я не знаком с GWT, но я думаю, что ваш вопрос более CouchDB связанных.
Если вы планируете иметь один и ровно один документ на пользователя, то вы должны использовать user_Id непосредственно как _id. Таким образом, вы получаете преимущество использования «первичного» индекса CouchDb в своих интересах и одновременно применяете уникальные идентификаторы пользователей. Хорошая практика и соглашение также хранить тип документа в собственности type
. документ может выглядеть следующим образом:
{
"_id": "user.abc123",
"type": "user",
"name": "ssdsd",
"budget": "dsds"
}
Если вам необходимо иметь несколько документов в user_id, то вам необходимо написать представление CouchDB. Вы можете прочитать введение в CouchDB Docs.
Это будет какой-то простой код JavaScript для функции отображения CouchDB:
function (doc) {
if (doc.user_Id) {
emit(doc.user_id, {budget: doc.budget});
}
}
Затем вы сможете запросить эту точку зрения, вызывая представление с key
из "abc123"
, например, в браузере с помощью вызова этого URL:
http://localhost:5984/users/_design/users/_view/users?key=[ «abc123" ]
PS: Если требуется аутентификация также, может быть, стоит рассмотреть, чтобы сохранить пользователей в встроенной базе данных _users
Просто имейте в виду. что в этой системе есть некоторые ограничения: не-админы не могут читать документы других пользователей в этом db, и некоторые специальные требования к схеме должны выполняться при добавлении там документов.