Добавление данных в firestore с идентификатором пользователя

#javascript #firebase #google-cloud-firestore

# #javascript #firebase #google-облако-firestore

Вопрос:

У меня есть веб-приложение для добавления данных в firestore, я могу добавить с помощью приведенного ниже кода, но я хочу использовать идентификатор пользователя, с которым пользователь вошел в систему, у меня есть «uid»

 //saving data
$('#form').submit(function(e){
  e.preventDefault();
  let name = $('[name = name]').val();
  let cityLAT = $('[name = cityLAT]').val();
  let cityLONG = $('[name = cityLONG]').val();
  db.collection('campaigns').add({
    name: name,
    cityLAT: cityLAT,
    cityLONG: cityLONG
  });
  $('[name = name]').val('');
  $('[name = cityLAT]').val('');
  $('[name = cityLONG]').val('');
})
 

Ответ №1:

Не совсем понятно, о чем вы спрашиваете, но похоже, вы не хотите использовать автоматически сгенерированный идентификатор документа, предоставленный add() . Если вы хотите использовать свой собственный идентификатор документа, просто создайте ссылку на этот документ и вызовите set() его.

 const ref = db.collection('campaigns').doc(uid);  // whatever ID you want here
ref.set({ ... });  // whatever fields you want here.
 

Комментарии:

1. Большое вам спасибо, это сработало. Вы правы, я не хочу использовать автоматически сгенерированный uid, теперь я использую подписанный идентификатор пользователя ok .. но когда я добавляю новый элемент, он перезаписывает старый, как я могу добавить несколько данных с одинаковым uid.

2. Поскольку у вас возникла новая проблема, не могли бы вы опубликовать здесь новый вопрос о переполнении стека, в котором описывается новая проблема, что вы пытались ее решить и почему она работает не так, как вы ожидаете?

3. Хорошо, я собираюсь добавить новый.