我想创建一个云函数,当用户创建图像时它会触发,然后添加一个名为钱包的额外字段,但从云函数和它的值成为0
,就像这个钱包图像在同一地方,但我无法理解node.js如何能得到用户的手机号码来添加这个字段,因为它将每个用户运行一次,因为当用户充值时它不会执行。
我怎么才能做到呢?下面是我的代码:
我的代码不工作
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
// Create and Deploy Your First Cloud Functions
// https://firebase.google.com/docs/functions/write-firebase-functions
// firebaseUser.initializeApp(functions.config().firebase);
exports.onUserCreate = functions.firestore
.document("Users/{mobile}")
.onCreate(async (snap, context) => {
const values = snap.data();
// send wallet value to the fields
await db.collection("Users").document(values.Mobile).add({
Wallet: `0`,
});
});
您可以使用Google Cloud Firestore触发器调用云函数。您有几种类型的触发器,如create
,update
,delete
和write
。如果您想在每次创建用户文档时调用云函数,您可以使用默认触发器providers/cloud.firestore/eventTypes/document.create
。如果想在文档更新时调用云函数,可以使用providers/cloud.firestore/eventTypes/document.update
。目前,没有任何触发器可以在特定字段更新时使用。因此,您必须在云函数中实现此逻辑,以便无论何时更新文档,它都会检查特定字段,或者您可以在创建新用户文档时运行该函数。
我目前没有特定字段的触发器。您只能触发对文档的任何更改,如果您想知道特定字段是否更改,则必须检查更改对象以找出它。
如果你想表达一个只关注特定字段的函数,你总是可以提交一个特性请求。