我在Firebase上运行一个web应用程序,我从实时数据库开始,现在我正在将我的数据迁移到firestore。 我使用admin SDK迁移了除时间戳以外的所有其他数据。在我的web应用程序中,当用户上传新内容时,代码会将时间戳添加到数据库中,这样内容就可以按时间排序。 问题是实时数据库和firestore显然在记录时间戳时使用了不同的方法: firebase.database.ServerValue.TIMESTAMP // This will be in the following format: 1577778747131
firebase.firestore.Timestamp.
我目前正在将我的Firebase实时数据库转换为使用新版本的Firestore。
我想按键查找文档。以前,在Firebase实时中,我可以这样做:
getSingleRouteById (key) {
const ref = firebaseDb.ref('/data/')
// now search for data with that key several nested layers down
return ref.child(key)
.once('value')
.then((snapshot) => {
我使用Flutter、Timer和Firebase/Firestore.批处理来执行类似示例代码的操作,以定期在Mac上保存数据。
当我运行我的应用程序几天,我会随机得到这个错误:
flutter: [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.
flutter:
#0 MethodChannelWriteBatch.commit
package:cloud_firestore_platform_interface/…
如何将此代码转换为实时数据存储库,此代码工作良好,但不是实时的。我需要实时读取我的数据表。
useEffect(() => {
setLoading(true)
const date = new Date()
const januari = new Date(date.getFullYear(), 0)
const juni = new Date(date.getFullYear(), 5 + 1, 0)
const tahunSekarang = date.getFullYear()
const tahunSetelah = da
只展示了如何使用firebase-admin来设置修复程序,在我看来,这基本上是一个服务器端解决方案。即使我们谈论的是使用云函数,这仍然是一个迷你服务器,在浏览器和数据库之间有一个额外的抽象层。我正在试图找出如何做类似的设置,将用于直接从浏览器代码访问实时数据库。
在谷歌提供的提供的5分钟后,我看到正在使用这种类型的配置,除了现在初始化应用程序之后,我们调用firestore()方法而不是database()方法来获取根引用。
我在打开了防火墙后重新初始化了项目,并将项目规则设置为允许任何人访问它。但是对我来说,firebase()方法没有包含在我的firebase实例中。
const fir
我尝试通过个人项目和位于这里的firebase仿真套件Codelab启动Firebase防火墙和实时数据库模拟器:()使用codelab,命令行在“firebase模拟器:start”之后打印以下内容
[....] codelab-initial-state % firebase emulators:start --import=./seed
i emulators: Starting emulators: auth, functions, firestore, hosting
⚠ functions: The following emulators are not running, ca
我试图使用以下代码将我的用户的数据发送到firebase:
var firestore = firebase.firestore();
var messagesRef = firestore.collection("BookingData");
//listen for submit
document.getElementById('bookingForm').addEventListener('submit',submitForm);
function submitForm(e){
e.preventDefault();
//g