【发布时间】:2020-10-29 20:22:20
【问题描述】:
我正在尝试向 Firestore 中的集合内的数组添加一个值。 我已按照文档进行操作,但总是收到一条错误消息:
UnhandledPromiseRejectionWarning: FirebaseError: Function 使用无效数据调用 DocumentReference.update()。
不支持 字段值:自定义对象(在文档的字段播放器中找到 季节/CNClnl0NhvVxmk32sKe2)
注意数组是空的。但它确实包含最初具有相同结果的数据。
我尝试手动插入 seasonId,但没有成功。
这是我的代码:
const seasonRef = db.collection("seasons").doc(seasonId);
await seasonRef
.update({
players: admin.firestore.FieldValue.arrayUnion(userId),
})
.catch((err) => {
console.log(err.message);
});
db.js:
const firebase = require("firebase");
const config = require("./config");
firebase.initializeApp(config);
const db = firebase.firestore();
module.exports = db;
我试过让 admin 都声明为:
const admin = require("firebase-admin");
和:
const admin = require("../data/firebase");
哪些参考:
const admin = require("firebase-admin");
const config = require("./config");
admin.initializeApp(config);
module.exports = admin;
后者用于验证前端生成的令牌。
【问题讨论】:
-
请编辑问题以显示重现错误的complete minimal code。您显示的内容不完整,因为我们看不到您如何创建
db。我们应该能够获取您在此处显示的所有内容、复制它并查看相同的行为。 -
@DougStevenson,我添加了 db.js 内容
-
您的代码中的
userId是什么(因为这很可能是导致问题的值)? -
@FrankvanPuffelen 一个由 Firestore 生成的简单字符串,在本例中为:DD2elAn4XaWzeOquw2DtOucS5mk2
标签: javascript node.js firebase express google-cloud-firestore