如何在onCreate的新文档中添加字段?

时间:2019-07-05 11:12:47

标签: javascript firebase google-cloud-firestore google-cloud-functions

计算后,我试图将新字段添加到新文档中,这是创建新文档时必须执行的操作。但是,未添加该字段。

我已经部署了此代码,没有任何错误,但是当在此路径中添加新文档时,什么都没有发生。

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
  });
})

1 个答案:

答案 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中所述。