如果值/字符串太长,如何阻止写入firebase数据库?
例如:如果我有这个数据集
我不想将此产品添加到数据库中,如果该名称'超过10个字符。我怎么能这样做?
像这样:?
exports.preventNameTooLong = functions.database.ref('/userProducts/{userID}/')
.onWrite(event => {
// Grab the current value of what was written to the Realtime Database.
const product = event.data.val();
if(product.name.length > 10){
return;
}else{
return event.data.ref;
}
});
或者这段代码完全错了吗?
答案 0 :(得分:3)
使用实时数据库规则进行更快速验证:https://firebase.google.com/docs/database/security/securing-data
在您的情况下,请添加以下规则:
".validate": "newData.isString() && newData.val().length < 10"
这应该包含在您的实时数据库规则中,因此不在您的函数中。这样,用户甚至无法写入您插入规则的路径。