我似乎无法获取要检索的文档的ID。
我看了很多网上的例子,它们似乎都在做我在做的事。
exports.moveToProfile = functions.firestore
.document("tempProfiles/{id}")
.onCreate(async (snap, context) => {
const id = snap.data().id;
const displayName = snap.data().displayName;
const profile = await db
.collection("profiles")
.doc(id)
.set({
displayName: displayName,
points: 0
});
return profile;
});
答案 0 :(得分:1)
在您的代码中,data
是DocumentSnapshot类型的对象。从链接的API文档中可以看到,该对象代表的文档的ID是其id property。 data()会为您提供其所有字段(除非您将其作为字段写入,否则正式文档ID都不是其中之一。)因此,您可以使用data.id
获得该ID。
答案 1 :(得分:0)
如果要使用通配符和参数,则可以使用context.params
。
请参见https://firebase.google.com/docs/functions/firestore-events#wildcards-parameters。
// Listen for changes in all documents in the 'users' collection exports.useWildcard = functions.firestore .document('users/{userId}') .onWrite((change, context) => { // If we set `/users/marie` to {name: "Marie"} then // context.params.userId == "marie" // ... and ... // change.after.denter code hereata() == {name: "Marie"} });