get()
может получить только один документ, а не всю коллекцию. Итак, то, что вы пытаетесь сейчас, просто невозможно. Также имейте в виду, что вы можете только get()
до 10 документов на запрос.
Попробуйте переписать hasRole
следующим образом, чтобы проверить, содержит ли коллекция ролей пользователя документ с указанным разрешением:
function hasRole(userId, role) {
return exists(/databases/$(database)/documents/users/$(userId)/roles/$(role))
}
Предполагается, что role
- это строковое имя роли, например, «ПОДДЕРЖКА». Вам придется вызывать эту функцию для каждой отдельной роли, которую вы хотите проверить.
Если вам также необходимо проверить содержимое документа, вместо этого вам нужно будет get()
просмотреть его и просмотреть поля документа.