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

时间:2020-06-05 15:51:17

标签: javascript firebase google-cloud-firestore

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

如果集合“房屋”不存在,如何以编程方式创建一个新房屋并向其中添加数据? (以某种方式检查该集合是否已存在,如果返回假,则进行新的创建?)

这是我的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);
                })
        }
    }
})

1 个答案:

答案 0 :(得分:1)

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

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