我在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);
})
}
}
})
答案 0 :(得分:1)
Firestore集合是用于组织数据的逻辑实体,而不是需要明确创建的实体。如果将数据添加到集合中,则会隐式创建数据-您无需执行任何操作!
// "Houses" collection doesn't exist
await db.collection('Houses').add(data);
// now it does!