小编BB *_*ign的帖子

使用 Firebase 和 Firestore 构建存在,部署函数中出现错误:“秒不是有效整数”

我正在使用Firebase 提供的此文档,通过使用 Firebase 的内置状态和onDisconnect() ,结合使用 Firebase 和 Firestore 在 Firestore 中建立“状态” 。大部分代码都是 Firebase 提供的逐字记录,但我为我的数据结构定制了一些内容。我已成功将我的函数(如下)部署到 Firebase。检查日志,我收到此错误:

Error: Value for argument "seconds" is not a valid integer.
    at Object.validateInteger (/srv/node_modules/@google-cloud/firestore/build/src/validate.js:191:19)
    at new Timestamp (/srv/node_modules/@google-cloud/firestore/build/src/timestamp.js:70:20)
    at Function.fromMillis (/srv/node_modules/@google-cloud/firestore/build/src/timestamp.js:126:16)
    at Function.fromDate (/srv/node_modules/@google-cloud/firestore/build/src/timestamp.js:108:26)
    at Serializer.encodeValue (/srv/node_modules/@google-cloud/firestore/build/src/serializer.js:97:53)
    at Serializer.encodeFields (/srv/node_modules/@google-cloud/firestore/build/src/serializer.js:56:30)
    at Function.fromObject (/srv/node_modules/@google-cloud/firestore/build/src/document.js:97:53)
    at op (/srv/node_modules/@google-cloud/firestore/build/src/write-batch.js:245:58)
    at writes._ops.map.op (/srv/node_modules/@google-cloud/firestore/build/src/write-batch.js:431:44)
    at Array.map (<anonymous>)
Run Code Online (Sandbox Code Playgroud)

由于我主要使用 Firebase 提供的代码,所以我真的不知道如何调试它。我猜这与 Firebase 和 Firestore 之间的时间戳比较有关。关于这可能出问题的地方有什么建议吗?

const functions=require('firebase-functions');
const admin=require('firebase-admin');
admin.initializeApp();

const firestore=admin.firestore();

exports.onUserStatusChanged=functions.database.ref('user/{uid}').onUpdate(
    async (change, context) => {
        const …
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-realtime-database google-cloud-firestore

3
推荐指数
1
解决办法
4751
查看次数

如何管理应用到Firebase数据的动态路径

我的Firebase中的数据看起来像这样(这是一个基于Javascript的Web应用程序):

bids
    400
        1
            50.00
        2
            60.00
    401
        1
            55.00
        2
            65.00
Run Code Online (Sandbox Code Playgroud)

400和401表示拍卖编号.1和2是指每次拍卖中的单个拍品.第三级是出价金额.

我正在通过观看这样的child_added向用户显示所有出价的列表:

dataRef.child('bids').child(auction).child(lotno).on('child_added', function(data){...});
Run Code Online (Sandbox Code Playgroud)

当应用程序首次加载时,尚未分配拍卖或批号.随着拍卖的进行,拍品编号(甚至可能是拍卖编号)会发生很多次变化.

鉴于此方案,我对如何维护实时投标列表感到困惑.当应用程序首次加载时,我的变量"auction"和"lotno"的值为"undefined",因此我从Firebase收到"无效路径"错误.

如果变量(因此路径)发生变化,我也不确定child_added会发生什么.child_added会在新路径上加载所有现有数据,并从那时开始观察新孩子吗?

关于如何处理应用程序的初始状态的任何建议,其中变量尚未填充?

javascript firebase

2
推荐指数
1
解决办法
808
查看次数

为Firebase"推送"方法添加时间戳

dataRef是对我的Firebase(Javascript Web应用程序)的引用,这非常有效:

dataRef.child('comments').push({
    comment:comment,
    username:username
});
Run Code Online (Sandbox Code Playgroud)

我想在我的"推送"中添加一个Firebase服务器生成的时间戳,所以我尝试了这个:

dataRef.child('comments').push({
    comment:comment,
    username:username,
    timestamp:firebase.ServerValue.TIMESTAMP
});
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误.本文档介绍了如何使用它,但我没有得到它.我可以进行语法修改以使其正常工作吗?

javascript firebase

1
推荐指数
1
解决办法
2054
查看次数

如何在插入变量的PHP中设置数组

我是一名尝试编写PHP的ASP程序员,所以如果这是非常基本的话,我很抱歉.我有一个变量$ fname,我正在尝试设置一个数组,如下所示:

$data=array('x_First_Name' => '" . str_replace("'" ,"\'", $fname) . "');
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个错误:意外的T_CONSTANT_ENCAPSED_STRING,期待')'

我的语法中有些简单的东西需要调整吗?谢谢!

php

0
推荐指数
1
解决办法
35
查看次数