javascript - 如果集合不存在,如何在 firebase 中创建集合并向其中添加文档?

标签 javascript firebase google-cloud-firestore

<分区>

我在 firebase 中有一个集合“Houses”,它应该包含文档。所以我的函数获取文档数据并将其添加到给定的集合名称中。

如果集合“Houses”不存在,我如何以编程方式创建一个新集合并向其中添加数据? (有什么方法可以检查集合是否已经存在,如果返回 false 就创建一个新集合?)

这是我的 addData 函数:

exports.addData = functions.https.onCall((data, context) => {

    let validated = true;

    validateForm(data);

    if (validated === false) {
        console.log('Data cannot be validated. Misses the correct attributes')
    } else {
        addAttributes(data);
        for (let i=0; i<data.length; i++) {
                db.collection('Houses')
                .add(data[i])
                .then((docRef) => {
                    console.log('Success ', docRef.id); 
                    return { message: "Done" }
                })
                .catch(err => {
                    console.log('Error logged', err);
                })
        }
    }
})

最佳答案

Firestore 集合是用于组织数据的逻辑实体,而不是明确需要创建的东西。如果您将数据添加到集合中,它会被隐式创建——您无需执行任何操作!

// "Houses" collection doesn't exist
await db.collection('Houses').add(data);
// now it does!

关于javascript - 如果集合不存在,如何在 firebase 中创建集合并向其中添加文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62219328/

相关文章:

firebase - 用RxDart在dart-flutter中进行Concanete 2 Firestore QuerySnapShot流

javascript - 用于识别表单中的电话分机的正则表达式

javascript - 单选按钮值到输入值

javascript - 纯 Javascript 如何在 mousemove 上缩放图像?

javascript - 具有 Firebase 云功能的自定义观察器

firebase - 为什么此快照两次将每个文档获取两次? flutter

Javascript - 表单数据

firebase - 我怎样才能在 map 功能中等待我 future 的功能? ( flutter )

ios - 在嵌套的子项中迭代。火力基地和 swift 3

android - 基于 Firestore 角色的身份验证无法按预期工作