当我的一个用户创建特定文档(例如帖子)时,我想将其UID添加到文档中。
我试图通过云功能和onCreate触发器找到实现这一目标的方法,但似乎用户的UID在这些功能中无法访问。
exports.createPublication = functions.firestore
.document('publications/{publication}')
.onCreate((snap, context) => {
const newValue = snap.data();
return snapshot.ref.child('authorId').set("ID");
});
我真的很惊讶Firestore没有像其他数据库那样本地添加AuthorId字段(Mongo,Parse等...) 当然,我可以从客户端添加这个UID,但我认为它有点脏。
答案 0 :(得分:4)
Firestore触发器当前无法知道进行调用触发器的更改的经过身份验证的用户的uid。这是一个正在研究的功能。
如果文档ID恰好是用户的uid,您可以使用安全规则来限制对该用户的写访问,然后使用通配符来了解uid,但听起来这个技巧无法使用这里。