小编kau*_*nde的帖子

批量写入Firebase Cloud Firestore

我想创建一个新集合,并向其中添加成千上万个大小约为1-2K的文档。我已经在json中保存了数据,所以我认为这很容易。

我知道该批处理一次可以写入500次,因此为了将其分成500个,我编写了以下代码。虽然出于测试目的,我以20个块运行它,而我的测试json有72个对象。

但我不断收到以下错误

node_modules\@google-cloud\firestore\src\write-batch.js:148
  throw new Error('Cannot modify a WriteBatch that has been committed.');
  ^

Error: Cannot modify a WriteBatch that has been committed.
Run Code Online (Sandbox Code Playgroud)

我的代码如下

var dataObj = JSON.parse(fs.readFileSync('./bigt.json'))
var tmpdd = dataObj.slice(0, 72)
var batch = db.batch();

console.log(tmpdd.length)

let tc = tmpdd.length
let lc = 0
let upperLimit = 20, dd = null

while(lc<=tc){

    dd = tmpdd.slice(lc, upperLimit )

    console.log(lc, upperLimit)
    dd.map(
    o => batch.set(db.collection('nseStocks').doc(o.Date+o.variable), o)
    )

    batch.commit().then(function () {
        console.log('Written to firestore', lc, lc + upperLimit)
    })
    .catch( …
Run Code Online (Sandbox Code Playgroud)

node.js firebase google-cloud-firestore

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

在for循环中绘制Plotly图表

我正在使用plotly转换ggplot2图表并将它们放在knitr html输出中.这是报告的工作副本. http://rpubs.com/kausti/NSEFO-23-Mar-2016 第一张图是情节图,而以下图则不是.我希望他们是情节图表,但我被卡住了.

在下面的代码中,plotChart函数返回一个ggplot2图.这段代码有效!

for (tick in tradeOps$ticker)
{
  tmpDF = filter(tradeOps, ticker == tick)
  p = plotChart(tick = tick,Entry = tmpDF$Entry, Target =     tmpDF$Target, SL= tmpDF$SL, TradeType = tmpDF$TradeType, data = wd)
  p = p + annotate("text", x = as.Date(tmpDF$Date)+30, y =   tmpDF$Entry, label = tmpDF$Entry, colour = "blue")
  p = p + annotate("text", x = as.Date(tmpDF$Date)+30, y = tmpDF$Target, label = tmpDF$Target)
  p = p + annotate("text", x = as.Date(tmpDF$Date)+30, y = tmpDF$SL, label = tmpDF$SL)

  print(p) …
Run Code Online (Sandbox Code Playgroud)

r knitr plotly

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

Firebase 托管公用文件夹别名

我有一个基于反应的快速现有项目,我成功地通过云功能将其移植到 Firebase 托管......至少在开发服务器上。它看起来像这样..这是使用命令在http://localhost:5000/上运行

firebase serve --only functions,hosting
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

现在,当我部署它时,它看起来像

在此输入图像描述

这不是静态网站。关注此处的 firebase 视频 https://www.youtube.com/watch?v=LOeioOKUKI8

所以我有快速服务器运行

app.use('/static',express.static('../public'));
Run Code Online (Sandbox Code Playgroud)

我必须这样做,因为否则,firebase 托管会将每个路径视为公共路径,并且它会弄乱来自公共文件夹的脚本以及反应应用程序中的反应路由器。

虽然这可以在 firebae 运行的本地服务器上运行,但它会在 prod 上抛出 404 错误。

Failed to load resource: the server responded with a status of 404 ()
Run Code Online (Sandbox Code Playgroud)

关键是我在本地计算机上完成了所有这些工作,但部署却无法满足要求。

部署并不顺利。

firebase deploy
Run Code Online (Sandbox Code Playgroud)

没用。

firebase --only hosting
Run Code Online (Sandbox Code Playgroud)

工作了。

firebase --only functions
Run Code Online (Sandbox Code Playgroud)

有一段时间没有工作。

它一直在扔

Error setting up the execution environment for your function. Please try again after a few minutes.
Run Code Online (Sandbox Code Playgroud)

几次才终于成功。我没有做任何改变来让它发挥作用。刚刚自己做的。

我有什么遗漏的吗?我对 firebase 托管非常陌生。

我已经在某处运行了一个生产站点,我希望将其移植到 firebase。但我不能随机出现“几分钟后重试的问题”。

但首先,为什么我的静态文件在开发环境中渲染时却没有在产品环境中渲染?

谢谢

firebase firebase-hosting google-cloud-functions firebase-cli

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