我正在开发一些适用于Firestore的云功能。我想获取特定文档的字段列表。例如,我有even.data.ref
的文档引用,但我不确定该文档是否包含我正在查看的字段。我想获得字段名称的列表,但我不知道该怎么做。
我试图使用Object.keys()
方法获取数据的键列表,但我只得到一个数字列表(0,1 ...),而不是字段名称。
我尝试使用documentSnapShot.contains()
方法,但似乎无效。
exports.tryHasChild=functions.firestore.document('cities/{newCityId}')
.onWrite((event) =>{
if (event.data.exists) {
let myRef = event.data.ref;
myRef.get().then(docSnapShot => {
if (docSnapShot.contains('population')) {
console.log("The edited document has a field of population");
}
});
答案 0 :(得分:0)
正如documentation on using Cloud Firestore triggers for Cloud Functions所示,您可以使用event.data.data()
获取文档的数据。
然后,您可以使用JavaScript的Object.keys()
方法迭代字段名称,或者测试数据是否包含带有简单数组检查的字段:
exports.tryHasChild=functions.firestore.document('cities/{newCityId}')
.onWrite((event) =>{
if (event.data.exists) {
let data = event.data.data();
Object.keys(data).forEach((name) => {
console.log(name, data[name]);
});
if (data["population"]) {
console.log("The edited document has a field of population");
}
});