簡體   English   中英

Firebase REST API處理淺層數據

[英]Firebase REST API working with shallow data

我正在查看Firebase REST API的文檔,它指出

淺-這是一項高級功能,旨在幫助您處理大型數據集而無需下載所有內容。 將此設置為true可以限制在某個位置返回的數據的深度。 如果該位置的數據是JSON原語(字符串,數字或布爾值),則將僅返回其值。 如果該位置的數據快照是JSON對象,則每個鍵的值都將被截斷為true。

但是,從我發現的結果來看,無論它是JSON原語還是對象,似乎總是將值設置為true?

例如,從我讀過的書中,我期望下面的電話

https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/.json?print=pretty&shallow=true返回

{
    "text" : "Ahoy!",
    "user_id" : "jack"
}

相反,它正在返回

{
    "text" : true,
    "user_id" : true
}

我理解在此示例中,我提供了淺層數據,因為它是最低層,因此不是必需的,但是我發現較高層的我自己的數據也存在此問題,因為一切都返回了真。

有沒有一種方法可以使用淺層參數返回JSON原語的值?

當您使用shallow=true查詢Firebase REST API時,它將對查詢級別上存在的任何鍵返回true ,而不管其下面的數據類型如何。 沒有辦法改變這種行為。

有關原始值的文檔在您深入查詢一級時適用。 在您的情況下,如果您運行以下查詢: https : "Ahoy!" ,則會返回"Ahoy!"

所以:

  • https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/.json?print=pretty

     { "text" : "Ahoy!", "user_id" : "jack" } 
  • https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/.json?print=pretty&shallow=true

     { "text" : true, "user_id" : true } 
  • https://samplechat.firebaseio-demo.com/message_list/-K6ojd3dJQ3AVi36cruT/text.json?print=pretty&shallow=true

     "Ahoy!" 

暫無
暫無

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

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