[英]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.