Я строю систему администратора на основе Vue.js с firestore. На данный момент мне удалось представить данные, где в качестве строки коллекции используется пользовательский заголовок в виде степпера, а в строке документа указан UID зарегистрированного пользователя. Основная цель всего этого - убедиться, что пользователь может получать только коллекцию или документы, которые имеют свой UID пользователя в виде текстовой строки.
Дерево базы данных выглядит так:
- Строка сбора (название проекта / или UID пользователя)
- Строка документа (UID пользователя)
- Название
- Описание
- Тип
- Назначение
Я хочу, чтобы пользователь видел эти данные в другом разделе, который создается при отправке пользовательских данных. Таким образом, если пользователь создает проект с именем «Project», в боковой панели будет отображаться вкладка «Project». Это работает, но не работает с определенными переменными, которые я добавил.
У меня проблемы с поиском значения, которое я должен добавить в v-for в новом разделе.
Если я отправлю данные в раздел, куда должны быть отправлены данные, в строке сбора будет отображаться «Проект», а не строка UID пользователя. Это происходит, например, когда я делаю:
methods: {
submit () {
if (this.$refs.form.validate()) {
this.loading = true
const project = {
title: this.title,
description: this.description,
purpose: this.purpose,
type: this.project,
user: this.user
}
db.collection('project').add(project).then(() => {
this.loading = false
this.dialog = false
this.$emit('projectAdded')
})
}
}
}
С помощью приведенного выше кода я могу получить вновь созданную коллекцию:
v-for="project in project"
Однако переключение кода и использование «UID пользователя» вместо «project»
methods: {
submit () {
if (this.$refs.form.validate()) {
this.loading = true
db.collection(this.user).doc(this.user).set({
title: this.title,
description: this.description,
purpose: this.purpose,
type: 'project',
date: new Date().toJSON().slice(0, 10).replace(/-/g, '/'),
user: this.user
})
}
}
Я не могу использовать v-for = "project in project" сейчас, очевидно, поскольку коллекция и строка документа основаны на uid пользователя, поэтому, поскольку строка коллекции и документа в firebase теперь "user uid", я не уверен, что ставить в v-for.
Я пробовал this.user в this.user, пользователь в пользователе, всевозможные значения, но кажется, что он его не получает. Кроме того, это появляется, когда я пытаюсь интерполировать внутри v-for, я получаю ошибки, я также пробовал: v-for, который позволяет мне перейти в cli, но выдает ошибку на консоли chrome.
Как получить коллекцию или строку документа с пользовательским UID?
Я ценю все ответы и отзывы здесь, спасибо.