Firestore 在同一个 UID 下添加多个数据

用户10894226

我问了一个关于类似主题的问题,得到了回答,但又遇到了一些问题,所以他们让我在另一个主题下提问。

我正在尝试使用 UID 将数据添加到 Firestore 云。我有 UID,添加 UID 没有问题,但是当我想添加另一个时,它会删除旧数据并在其上重写。我想在同一个 UID 下添加多个数据。

$('#form').submit(function(e) {
e.preventDefault();
let name = $('[name = name]').val();
let cityLAT = $('[name = cityLAT]').val();
let cityLONG = $('[name = cityLONG]').val();
let user = firebase.auth().currentUser;
let uid;
if(user != null) {
    uid = user.uid;
}
const ref = db.collection('campaigns').doc(uid);
ref.set({ name: name,
cityLAT: cityLAT,
cityLONG: cityLONG },{ merge: true });
$('[name = name]').val('');
$('[name = cityLAT]').val('');
$('[name = cityLONG]').val('');
雷诺塔内克

如果您想“添加具有相同 uid 的数据”(即使用以下内容将数据添加到文档中DocumentReference: db.collection('campaigns').doc(uid)),您有两种可能性:

  1. 使用update()“更新此 DocumentReference 引用的文档中的字段”方法。但是,您必须知道“如果应用于不存在的文档,则更新将失败”。
  2. 使用带有合并选项set()方法即使文档不存在也能工作另请参阅此文档:https : //firebase.google.com/docs/firestore/manage-data/add-data#set_a_document

因此,在您的情况下,使用上述set()方法将如下所示:

const ref = db.collection('campaigns').doc(uid);
ref.set(
   { name: name,
     cityLAT: cityLAT,
     cityLONG: cityLONG },
   { merge: true }
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章