Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 谷歌云功能用户id vs用户id_Node.js_Firebase_Google Cloud Firestore_Google Cloud Functions - Fatal编程技术网

Node.js 谷歌云功能用户id vs用户id

Node.js 谷歌云功能用户id vs用户id,node.js,firebase,google-cloud-firestore,google-cloud-functions,Node.js,Firebase,Google Cloud Firestore,Google Cloud Functions,我在firestore数据库上运行google云功能。对于我的一些函数,包含导致执行的用户信息的上下文作为user\u id存储在上下文中,其他时间作为userID存储 例1: Context! { eventId: 'c5d21684-d929-4522-93b8-9defa8efc523-0', eventType: 'google.firestore.document.create', notSupported: {}, params: { date: '1567551

我在firestore数据库上运行google云功能。对于我的一些函数,包含导致执行的用户信息的
上下文
作为
user\u id
存储在上下文中,其他时间作为
userID
存储

例1:

Context! { eventId: 'c5d21684-d929-4522-93b8-9defa8efc523-0',
  eventType: 'google.firestore.document.create',
  notSupported: {},
  params: 
   { date: '1567551802.9012709',
     user_id: 'xxxxxxxxxxxxxxxxx' },
  resource: 
   { service: 'firestore.googleapis.com',
     name: 'projects/longpathxxxxxxxx' },
  timestamp: '2019-09-03T23:03:23.048799Z' }
例2:

incredible { eventId: 'af75b0a0-c612-466e-9fb5-5970be1e23fa-0',
  eventType: 'google.firestore.document.create',
  notSupported: {},
  params: 
   { date: '1567552527.172058',
     userID: 'yyyyyyyyyyyyy' },
  resource: 
   { service: 'firestore.googleapis.com',
     name: 'projects/pathlongxxxxxxxxxxxxxxxxxxx' },
  timestamp: '2019-09-03T23:15:27.309423Z' }
这和更新有关吗? 任何想法都会有帮助,因为据我所知,
context
是由云函数创建的,我不直接控制上下文中的内容

前面唯一的代码就是这样

exports.funcName = functions.firestore.document('path').onCreate((snap, context) => {
path
是多个东西,但我不认为有确切的字符串会有什么不同。
它是
collection/document/collection/document
。我有很多函数。

如果没有生成您所展示的输出的实际代码,我就猜一猜。查看实际代码很重要,因为这正是造成混淆的原因

传递给函数的
context
参数将具有一个
params
属性,该属性定义在文档路径中定义的通配符的名称和值。这很好:

通配符匹配从文档路径中提取并存储到context.params中。您可以定义任意数量的通配符来替换显式集合或文档ID

您的第一个输出显示包含以下内容的context.params:

  params: 
   { date: '1567551802.9012709',
     user_id: 'xxxxxxxxxxxxxxxxx' },
这意味着您的函数在文档路径中定义了两个通配符,
date
user\u id
。它们将出现在路径中的大括号中

您的第二个输出显示:

  params: 
   { date: '1567552527.172058',
     userID: 'yyyyyyyyyyyyy' },

这意味着函数声明了两个通配符,
date
userID
。这些都来自于函数的定义。这并不是云计算功能在编造的东西。如果您不喜欢参数的名称不同,请更改它们以适合您希望在所有函数中看到的内容。

如果没有生成您所显示的输出的实际代码,我只做一个猜测。查看实际代码很重要,因为这正是造成混淆的原因

传递给函数的
context
参数将具有一个
params
属性,该属性定义在文档路径中定义的通配符的名称和值。这很好:

通配符匹配从文档路径中提取并存储到context.params中。您可以定义任意数量的通配符来替换显式集合或文档ID

您的第一个输出显示包含以下内容的context.params:

  params: 
   { date: '1567551802.9012709',
     user_id: 'xxxxxxxxxxxxxxxxx' },
这意味着您的函数在文档路径中定义了两个通配符,
date
user\u id
。它们将出现在路径中的大括号中

您的第二个输出显示:

  params: 
   { date: '1567552527.172058',
     userID: 'yyyyyyyyyyyyy' },

这意味着函数声明了两个通配符,
date
userID
。这些都来自于函数的定义。这并不是云计算功能在编造的东西。如果您不喜欢参数的名称不同,请更改它们以适合您希望在所有函数中看到的内容。

您有将这些值写入Firestore的代码吗?如果没有看到函数的代码,就没有什么可说的了。我怀疑答案就在函数代码本身。@DougStevenson做了一个看起来毫无用处的编辑。您真的只是将“路径”传递给函数生成器吗?请显示确切的代码。我只是传递一个读取为路径的字符串。您有将这些值写入Firestore的代码吗?如果没有看到函数的代码,就没有什么好说的了。我怀疑答案就在函数代码本身。@DougStevenson做了一个看起来毫无用处的编辑。您真的只是将“路径”传递给函数生成器吗?请显示准确的代码。我只是传递一个读取为路径的字符串。