簡體   English   中英

Firebase的雲功能-如何檢查孩子是否存在?

[英]Cloud Functions for Firebase - How to check whether a child exists?

我在Firebase上有這樣的數據庫結構:

- members
    |- -kSjJSDFjl2DFc
          |- nationality: Australian

- statistics-nationality
    |- American : 2

當“國籍狀態”將被更新時,“成員”也將受到onWrite的監視。

我有以下代碼來獲取新成員的當前國籍值,然后導航到statistics-nationality,但是我想知道某個特定的國籍節點是否存在,或者選擇設置還是更新操作:

const currentNationality = event.data.current.child("nationality").val();
const statisticsNationality = event.data.ref.parent.parent.child('statistics-nationality');
let statisticsNationalityChild = statisticsNationality.child(currentNationality);

if (statisticsNationalityChild.exists()) { // No such an exists() method
   // update
} else {
   // create new nationality
}

但是,在此行中不exists()方法:

statisticsNationalityChild.exists()

請告知如何檢查孩子是否存在? 謝謝!

如果我正確地看到了您的數據結構,則statistics-nationality不屬於觸發該功能的事件數據的一部分。 在這種情況下,您將需要嘗試讀取數據以確定其是否存在:

const currentNationality = event.data.current.child("nationality").val();
const statisticsNationality = event.data.ref.parent.parent.child('statistics-nationality');
let statisticsNationalityChild = statisticsNationality.child(currentNationality);

statisticsNationalityChild.once("value").then((snapshot) => {
  if (snapshot.exists()) { 
    // update
  } else {
    // create new nationality
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM