Как добавить данные в базу данных в поле документа вместо поля сбора? - PullRequest
0 голосов
/ 08 февраля 2020

Этот код позволяет мне добавлять электронную почту пользователя в поле коллекции.

  addContact(member:member){
const promise = new Promise<string>((resolve) => {
  const db = firebase.firestore();
  const productsRef = db.collection('user/');
     // Add to Database
  productsRef.add({
    user: member.user
  }).then(docRef => {
    resolve(docRef.id);
  });
});
return promise;}

enter image description here

Как изменить этот код, чтобы сохранить электронную почту пользователя в поле документа вместо коллекции поле в огненной базе?

Ответы [ 3 ]

1 голос
/ 08 февраля 2020

Вы сохраняете сохранение электронной почты пользователей в поле документа. Концепция поля сбора не существует. Использование метода add в коллекции создает документ. Однако я бы переписал ваш код так:

async function addContact(member: member) {
    const docRef = await firestore().collection('users').add({user: member.user})
    return docRef; 
}
0 голосов
/ 08 февраля 2020

Чтобы иметь возможность писать в документ, вы должны знать точный, полный путь к этому документу.

Так что в этом случае вам нужно будет указать имя коллекции (что вы делаете) и имя документа (что вы не делаете). Вы можете либо узнать идентификатор (так как вы уже искали его ранее), либо определить его по , используя запрос .

Как только вы знаете весь путь, вы можете построить ссылку на этот документ, а затем обновите документ, добавив поле, как показано здесь: https://firebase.google.com/docs/firestore/manage-data/add-data#update -data

0 голосов
/ 08 февраля 2020

Я не могу получить именно то, что вы хотите, но если вы хотите добавить данные к указанному c do c, то вы можете использовать метод do c (), и он имеет много функций, таких как обновите указанные поля c, или объедините новые данные с уже существующими, или полностью переопределите всю команду do c. Существуют методы для всех этих функций и некоторые другие, которые вы можете найти в официальной документации . Если вы хотите установить некоторые данные в do c, вы можете сделать так:

const productsRef = db.collection('user/');
return productRef.doc('{document id}').set(user)
.catch((err) => err);

Если идентификатор, который вы передаете в качестве параметра для c (), не существует, он будет быть создан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...