Мне не удалось найти ответ на этот вопрос, поэтому я задаю вопрос:
У меня есть БД, в которой хранятся документы, которые имеют различные свойства, включая uuid
, который представляет пользователя, который являетсяВ настоящее время с помощью приложения.Мне нужно получить один документ по его полю _id
, но я хочу, чтобы он возвращался только в том случае, если поле uuid
соответствует текущему пользователю.Я знаю только текущего пользователя uuid
во время выполнения, поэтому запрос должен быть динамическим.
Я пытался решить эту проблему с помощью нескольких различных типов представлений и запросов.Последняя попытка приведена ниже.
Просмотр внутри проектного документа:
"current_user_passed_id": {
"map": "function(doc){ if(doc.type && doc.type == 'my_doc' && doc._id && doc.uuid) emit([doc._id, doc.uuid], doc)}"
}
Запрос:
/db/design/_design_name/_view/current_user_passed_id?key=["6e08fe0e990f73593300df411f023ec4", "9698fde5-99b9-4693-8f78-b2ae8a7f03e0"]
В приведенном выше запросе 6e08fe0e990f73593300df411f023ec4
- это doc._id
и 9698fde5-99b9-4693-8f78-b2ae8a7f03e0
это doc.uuid