Tag: google cloud firestore

承诺的正确解决scheme

我有连接到firebase的node.js上的应用程序。 我需要正确更新数据。 如何在函数getOrSetUserTrackDay(day)中调用promise来获得一个很好的值,但不是undefined? let userData = []; let userID = req.params.userID; let today = req.params.today; let yesterday = req.params.yesterday; db.collection('users').doc(userID).get() .then((userDataFromDB) => { if (!userDataFromDB.exists) { res.status(404).send('User not found'); } else { function getOrSetUserTrackDay(day) { let userTrackRef = db.collection('history').doc('daily').collection(day).doc(userID); userTrackRef.get() .then(userTrackData => { if (userTrackData.exists) { return userTrackData.data(); // good } else { let userNewData […]

Firebase云端function/ Firestore

我试图运行一个firebase云计算function来为Angular 5项目创build一个primefaces(批量)更新,无论何时创build一个新客户。 我一直得到这个错误,不能解决问题是什么: console.error 错误:无法将types([对象未定义])编码为Function.encodeValue上的Firestore值(/user_code/node_modules/firebase-admin/node_modules/@google-cloud/firestore/src/document.js:658:11) 云端函数(index.js) const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); const stripe = require('stripe')(functions.config().stripe.testkey); // 1. Create Stripe User on sign up exports.createStripeCustomer = functions.auth.user().onCreate(event => { // user auth data const user = event.data; // register Stripe user return stripe.customers.create({ email: user.email }) .then(customer => { const db = […]

Nodejs,Cloud Firestore上传任务 – 身份validation错误:错误:套接字挂断

我正在编写一个运行API调用的函数,并通过偏移量从一个巨大的数据库顺序请求JSON。 parsingJSON响应,然后将其中的后续数据上传到我们的Cloud Firestore服务器。 Nodejs(Node 6.11.3)和最新的Firebase Admin SDK 信息按预期parsing,并完美地打印到控制台。 当数据尝试上传到我们的Firestore数据库,但是,控制台被垃圾邮件与错误消息: 身份validation错误:错误:套接字挂断 (节点:846)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:-Number-):错误:从插件获取元数据失败,错误:套接字挂断 偶尔: 身份validation错误:错误:读取ECONNRESET forEach函数收集下载的JSON中的项目,并在上传到Firestore数据库之前处理数据。 每个JSON都有多达1000个数据项(1000个文档值)通过forEach函数。 我知道这可能是一个问题,如果function重复之前上传设置完成? 我是一个编码新手,并明白,这个function的控制stream是不是最好的。 但是,我无法find有关控制台打印错误的任何信息。 我可以find大量有关套接字挂起的信息,但没有在validation错误部分。 我使用生成的服务帐户JSON作为凭据访问我们的数据库,该数据库使用firebase-adminsdk帐户。 我们对数据库的读/写规则目前是开放的,以允许任何访问(因为我们正在开发没有真正的用户)。 这是我的function: Firebase初始化和偏移调零 const admin = require('firebase-admin'); var serviceAccount = require("JSON"); admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "URL" }); var db = admin.firestore(); var offset = 0; var failed = false; 运行function并设置HTTP头 var runFunction = function runFunction() […]

在Firestore(NodeJS)文档中设置DocumentReference

我正在尝试使用NodeJS v8.6.0创build一个带有Firestore参考的文档。 喜欢这个 const admin = require('firebase-admin') admin.initializeApp({ credential: MY_CREDENTIAL, databaseURL: MY_DB_URL }) const db = admin.firestore() const ref = db.doc('foo/someDoc') db.doc('bar/targetDoc').set({ link: ref }) 虽然ref是一个DocumentReference ,但它的结果 错误:参数“数据”不是有效的文档。 input对象比20级更深或包含一个循环。 有没有在NodeJS(pipe理员)SDK上做到这一点? 另外,代码中使用的包是 "firebase-admin": "^5.4.1" 和 console.log(ref) 输出 DocumentReference { _firestore: Firestore { makeAuthenticatedRequest: { [Function: makeAuthenticatedRequest] getCredentials: [Function: bound getCredentials], authClient: [Object] }, authClient: Auth { […]

云function中的云Firestore

我想将新的Cloud Firestore集成到我的云端函数中。 我更新了node.js并在我的Mac上安装了最新的Firebase版本。 该文件说: exports.myFunctionName = functions.firestore .document('users/marie').onWrite((event) => { // … Your code here }); 应该pipe用。 我只是复制代码并将其粘贴到index.js中,就像其他实时数据库函数一样。 当我部署function代码($ firebase部署 – 只有函数),我得到这个错误: Cannot read property 'document' of undefined at Object.<anonymous> (/private/var/folders/zm/wp2415l929s472jv7kzbt3km0000gn/T/fbfn_21520Y4xqAJosBNHe/index.js:196:45) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) 关于这个问题的任何build议/想法?

admin.firestore不是在使用google云function和node.js时的function

这是node.js index.js文件的头文件: const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); var db = admin.firestore(); 这是侦听firestore更改的node.js函数: exports.myFoo = functions.firestore .document('foo/{bar}') .onWrite(event => { // do stuff } 这是在package.json文件中: "dependencies": { "firebase-admin": "^5-.4.2", "firebase-functions": "^0.7.1", "firestore": "^1.1.6" }, 当我尝试做一个“firebase部署”命令这是我得到的错误: 错误:分析函数触发器时发生错误。 TypeError:admin.firestore不是一个函数 askFirebase