在“show”集合中的Firestore文档中,我有两个字段:“artist”和“date”。创建一个名为“name”的新字段的最佳方法是什么,该字段结合了“artist”和“date”字段。
{
"artist": "Pink Floyd",
"date": "19650303"
}
例如,假设“artist”=“Pink Floyd”和“date”=“19650303”。然后“名字”应为“19650303_pinkfloyd”。
{
"artist": "Pink Floyd",
"date": "19650303",
"name": "19650303_pinkfloyd"
}
我可以在HTML中组合这些字段。但我希望它存储在Firestore数据库中,以便我可以在其他应用程序中调用该字段。如果“艺术家”或“日期”字段发生变化,我显然希望更改“名称”字段。
Google Cloud Functions会处理这件事吗?
答案 0 :(得分:0)
这是我为了让它在Google云端功能中运行而编写的功能。我很想知道这是否是实现这一目标的最佳方式,或者是否可以采用更好的方式。
// new name version that combines two variables in the event data to create a newnamee
exports.createnewshowname = functions.firestore
.document('shows/{showId}')
.onWrite(event => {
// Get an object representing the document
// e.g. {'name': 'pinkfloyd', 'venue': 'stubbs'}
var newValue = event.data.data();
// access a particular field as you would any JS property
var name = newValue.name;
var venue= newValue.venue;
var newname = name+"_" +venue
// You must return a Promise when performing asynchronous tasks inside a Functions such as
// writing to the Firebase Realtime Database.
// Setting an "uppercase" sibling in the Realtime Database returns a Promise.
return event.data.ref.set({
newname: newname
}, {merge: true});
});