Javascript 在Firebase中将电话号码设置为主键并防止重复

Javascript 在Firebase中将电话号码设置为主键并防止重复,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我对firebase完全陌生,我想将电话号码设置为主键(uid),将电子邮件设置为副键。如果firebase数据库中存在这两个数据库,如何防止它们的重复?我的应用程序中没有任何身份验证。我这样做是为了一个联系方式,以防止重复 下面是我的JS代码 //提交表单 函数提交形式(e){ e、 预防默认值(); //获取价值 var name=getInputVal('name'); var company=getInputVal(“公司”); var email=getInputVal(“电子邮件”

我对firebase完全陌生,我想将电话号码设置为主键(uid),将电子邮件设置为副键。如果firebase数据库中存在这两个数据库,如何防止它们的重复?我的应用程序中没有任何身份验证。我这样做是为了一个联系方式,以防止重复

下面是我的JS代码

//提交表单
函数提交形式(e){
e、 预防默认值();
//获取价值
var name=getInputVal('name');
var company=getInputVal(“公司”);
var email=getInputVal(“电子邮件”);
var phone=getInputVal('phone');
var message=getInputVal('message');
//保存消息
保存信息(姓名、公司、电子邮件、电话、信息);
}
//函数来获取表单值
函数getInputVal(id){
return document.getElementById(id).value;
}
//将消息保存到firebase
功能保存信息(姓名、公司、电子邮件、电话、信息){
var newMessageRef=messagesRef.push();
newMessageRef.set({
姓名:姓名,,
公司:公司,,
电邮:电邮,,
电话:电话,,
信息:信息
});

}
我建议不要将电话号码用作主键。将其用作唯一值。看起来您正在使用jquery.validate插件,这样您就可以访问remote并查看您的数据库以验证重复的数字。。否则。 在你的剧本中。。 在保存消息功能之前。调用ajax查看数据库。如果该号码已存在,请阻止提交表单,并提醒消息该号码已存在


远程访问示例可在

中找到,只需将数字用作键,而不是使用push()生成的键即可。这也确保了没有重复的数字。当然,更好的方法是验证用户身份并使用他们的UID:)@AndréKool我正在努力防止电话号码和电子邮件id的重复。那么我如何在firebase数据库中设置规则呢?你能不能把它写在片段里,让我更好地理解。短暂性脑缺血发作