计算后,我试图将新字段添加到新文档中,这是创建新文档时必须执行的操作。但是,未添加该字段。
我已经部署了此代码,没有任何错误,但是当在此路径中添加新文档时,什么都没有发生。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
exports.test = functions.firestore.document('a/{a.id}/b/{b.id}/c/d')
.onCreate(async(snapshot, context) => {
const data = snapshot.data();
const userRef = db.doc(`a/${a.id}/b/${b.id}/c/d`);
var result = 1+2; //just for lighter code example
return userRef.update({
result: result
});
})
答案 0 :(得分:0)
您的通配符无效。通配符名称中不能包含点。 Firebase CLI允许您部署此功能,我感到有些惊讶。另外,即使这些通配符有效,您也无法正确使用通配符。
有一种更简便的方法来获取对刚刚创建的文档的引用。您可以使用snapshot.ref
。
exports.test = functions.firestore.document('a/{a}/b/{b}/c/d')
.onCreate(async(snapshot, context) => {
var result = 1+2; //just for lighter code example
return snapshot.ref.update({
result: result
});
})
如果您确实想使用通配符值,则应改用context.params
,如documentation中所述。