Firebase规定最大读取数为256 MB,所以......
是否可以使用limitToLast
?
var ref = firebase.database().ref();
ref.child("projects").limitToLast(1).push({
username: name,
email: email,
profile_picture : imageUrl
});
由于
答案 0 :(得分:0)
从数据库中读取时,应限制,过滤或以其他方式限制查询,以使其不会达到256MB的限制,或检索过多的数据。写入数据库时,只需确保单个写入请求的大小不超过256MB。
使用firebase.database().ref().child()
生成Reference
到数据库中的特定位置,但不执行任何数据库或网络操作。然后,这可用于向/从数据库读取/写入数据。
在limitToLast()
上调用Reference
(或任何其他过滤方法)会产生Query
。同样,Query
本身不执行任何数据库或网络操作。但是,只能指示Query
执行写入操作。
只有在Reference
或Query
上调用特定方法时才会执行网络操作:
on()
或once()
上调用Reference
,Query
或其变体时,会执行阅读操作。set()
上调用push()
,remove()
,update()
,Reference
或其变体时执行写入操作。总之,使用push()
写入数据库不会首先读取数据,因此您无需担心达到256MB的读取限制。最后,由于limitToLast()
会返回Query
,因此您无法就此发送push()
。