Я пытаюсь запросить указанный c документ из базы данных firestore. Кажется, проблема в том, что если я добавляю doc(id)
статически, это работает, но с переменной у него даже нет, хотя переменная имеет правильное и точное значение, которое я статически проверял.
Документ, который я пытаюсь retrieve - это User
узел / документ в коллекции /users
.
read
- это функция, которую я использую для извлечения данных:
export default class GenericDB {
constructor(collectionPath) {
this.collectionPath = collectionPath
}
/**
* Read a document in the collection
* @param id
*/
async read(id) {
const result = await (await firestore())
.collection(this.collectionPath)
.doc(id)
.get()
const data = result.exists ? result.data() : null
if (isNil(data)) return null
this.convertObjectTimestampPropertiesToDate(data)
return { id, ...data }
}
}
Это мое действие vuex:
getUser: ({ commit }, userId) => {
return new Promise((resolve, reject) => {
//usin UsersDB() instead of Generic() because my UsersDB() has constructor with correct path to /users
new UsersDB().read(userId).then(user => {
//Empty user if userId value is from variable and not empty if I use static value
resolve(user)
})
})
}
И я выкрикиваю это:
mounted() {
if (this.id) {
//getUser function is declared inside ...mapActions('authentication', ['getUser'])
this.getUser(this.id)
}
}
Обновление 1: Я сравнил строку stati c с моей переменной с помощью логического оператора, и это Оказывается, переменная userId
имеет пробел в конце. Я понятия не имею, почему и где это происходит.
Нет ошибки, просто пустые данные. Я не вижу, что может быть не так с этим простым запросом. Любая помощь приветствуется!