我想创建一个函数,将在身份验证触发器上添加数据到FIREST。
nodejs prettyprint-override">const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
exports.addUserData = functions.auth.user().onCreate(event => {
const user = event.data;
const userUid = user.uid;
return db.collection('peoples').doc(userUid).set({
name:user.displayName,
uid:user.uid
});
});
但它给出了错误
错误:无法在函数处将类型([object Undefined])编码为Firestore值。函数处的encodeValue(/user\u code/node\u modules/firebase admin/node\u modules/@google cloud/firestore/src/document.js:775:11)。在函数处编码字段(/user\u code/node\u modules/firebase admin/node\u modules/@google cloud/firestore/src/document.js:646:36)。WriteBatch上的fromObject(/user\u code/node\u modules/firebase admin/node\u modules/@google cloud/firestore/src/document.js:202:55)。在DocumentReference中设置(/user\u code/node\u modules/firebase admin/node\u modules/@google cloud/firestore/src/write batch.js:272:39)。在导出时设置(/user\u code/node\u modules/firebase admin/node\u modules/@google cloud/firestore/src/reference.js:425:8)。addUserData。功能。auth。使用者一次创建。对象上的事件(/user_code/index.js:9:46)。(/user_code/node_modules/firebase functions/lib/cloud functions.js:59:27)在下一个(本机)at/user_code/node_modules/firebase functions/lib/cloud functions。js:28:71 at_uuwaiter(/user_code/node_modules/firebase functions/lib/cloud functions.js:24:12)
错误消息表示您正在传递的一个值是未定义的
。给定您的代码,uid
不太可能是未定义的
,因此可能的原因是显示名称。
用户配置文件不需要有显示名称,因此代码应该处理没有显示名称的情况。
const user = event.data;
const userUid = user.uid;
const userName = user.displayName ? '';
return db.collection('peoples').doc(userUid).set({
name: userName,
uid: userUid
});
在React应用程序中使用Firestore,我正在测试使用Google云函数获取一个文档字段,然后使用该字段在Firestore中创建一个新字段。前几天我让它工作了,现在不行了。 这是我在谷歌云功能日志中得到的错误: 错误:无法解码文件快照中FiresteValue:{"stringValue":"sox"}的类型。_decodeValue 下面是我使用的代码。它与此处的代码非常相似:https
我是js/handlebars的新手,我无法用VS代码显示来自我的home.hbs文件的图像。当我运行服务器时,我得到的是: 这是我的服务器代码: 我的“home.hbs”代码: get“错误特别声明 无法获取/public/img/logo.png 这是我所有的信息,任何帮助将非常感谢。
我收到错误: 错误类型错误: 无法读取在评估 (webpack-internal:///./node_modules/@angular/common/esm5/http.js:163) 处未定义的属性 “长度”在 Array.forEach () 在 httpHeaders.lazyInit (webpack-internal:///./node_modules/@angular/common/e
问题内容: 这是我的代码。我在ArraryAdapter上收到错误消息。 如何用数组填充? 这是我的XML: 问题答案: 片段不是上下文对象。您需要将Activity对象(Fragment.getActivity())作为第一个参数传递。
我有osgi项目。每个包都是一个单独的maven项目。项目足够大,包括大约10个包。一切正常,一切正常。 在org.apache.maven.plugin.abstractCompilerMojo.execute(abstractCompilerMojo.java:656)在org.apache.maven.plugin.compilerMojo.execute(compilerMojo.java
我正在尝试将本机SQL结果映射到我的POJO。下面是配置。我在用Spring。 这是我的课 这里我是怎么称呼它的 但说到线