2017-08-15 49 views
1

我正在將firebase中的數據導入到在onWrite事件和使用的table.insert函數中正常工作的大查詢中。 現在我想更新數據在大查詢onUpdate事件,但table.update函數不可用,並不工作。其他方式。下面 是我的代碼來處理這個如何在onUpdate事件時在大查詢處更新數據

exports.updatetobigquery = 
functions.database.ref('/mn_users/{userId}/').onUpdate(event => { 
    const dataset = 
bigquery.dataset('KHUSHUApp');//functions.config().bigquery.datasetname); 

    const table = 
dataset.table('mn_users');//functions.config().bigquery.tablename); 
     console.log('Uppercasing', event.data.val()); 
    return table.update({ 
    'id': event.data.key, 
    'name': event.data.val().name, 
    'email': event.data.val().email 
    }); 

}); 

回答

0

最好的辦法:

  • 的BigQuery必須更新數據的能力,但BigQuery是一個分析型數據庫 - 不更新優化的數據庫。
  • 因此,如果您有其他方式來實現您的目標,請避免更新BigQuery中的數據。
  • 取代更新,向BigQuery發送新行 - 在分析後解除重複和合並最新值。當你需要回到每次狀態改變的能力時,這種模式是非常好的,並且對此進行分析。