Пытаюсь разобраться с CouchDB... впервые использую базу данных, отличную от SQL.
Попытка выяснить, как написать представление, которое возвращает всех пользователей в определенной команде....
Пользовательские документы выглядят следующим образом:
{
"_id": "e3031a9eb16dd879fbe78b61f800378b",
"_rev": "3-8aaf2d203b92b684fbd7a27a7dff9108",
"type": "user",
"userid": "myuserid",
"password": "mypassword",
"email": "[email protected]",
"firstname": "joe",
"lastname": "smith",
"org": "companyname",
"teams": [
"team2",
"otherTeam"
]
}
Там вы можете увидеть массив команд...
Я пробовал такие вещи, как:
function(doc) {
if (doc.type == 'user') {
if ((doc.teams.indexOf(searchString) > -1){
emit(doc.user, doc)
}
}
}
Но это не так. Я знаю...
У меня были успехи с другими представлениями (например, поиск пользователя по идентификатору пользователя) и вызов их с помощью nano, например:
db.view('users', 'by_userid', {'key': userid, 'include_docs': true},
function(err, body) {
.. etc
});
Но я совсем запутался, как это сделать...
db.view('users', 'by_team', {'key': teamName, 'include_docs': true},
function(err, body) {
.. etc
});
Любая помощь очень ценится.