2016-07-13 2 views
1

Вот моя схема базы данных:Выполнение где условия в CouchDB

Database name: user 
_id 74acd65e6eeb6d55809a950036000f50 
_rev 1-f5ca343d0688d7a01b549e5c29a4a911 
Budget dsds 
user_Id abc123 
Name ssdsd 

Теперь я хочу, чтобы получить все записи, которые имеющие "user_Id":"ssdsd" с использованием GWT.

Как и в MySQL: select * from user where user_Id=ssdsd

Пожалуйста направьте меня в следующем коде

public String view(String user_id) throws IllegalArgumentException { 
     // TODO Auto-generated method stub 
     Session s1=new Session("127.0.0.1",5984); 
     Database db=s1.getDatabase("users"); 
     return ""; 

ответ

1

К сожалению, я не знаком с 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, и некоторые специальные требования к схеме должны выполняться при добавлении там документов.

Смежные вопросы