标签:angularfire firebase firebase-realtime-database ionic-framework javascript
我想在Firebase中手动注册用户.我如何检查用户是否已经注册或他的(USERID)是否存在?如果存在,则不应让他注册,否则,如果他的用户名尚未在数据库中,则应保存他的信息.这是我当前的代码,其中只有保存的userinfo仍然可用.
$scope.details={};
$scope.registerme= function() {
var someDate = new Date();
var ref = firebase.database().ref('/Users/');
$scope.submitme = $firebaseArray(ref);
$scope.submitme.$add({
facebookid: $scope.details.userid,
firstname: $scope.details.firstname,
lastname: $scope.details.lastname,
timestamp: someDate.toString(),
}).then(function(ref) {
alert('Registration success.');
}).catch(function(error) {
alert('Registration Failed.');
});
};
解决方法:
AngularFire没有内置任何功能来检测节点是否存在.但是,由于AngularFire是基于Firebase JavaScript SDK构建的,因此可以使用JavaScript API进行此操作:
ref.child(uid).once('value', function(snapshot) {
console.log(snapshot.exists());
});
要意识到的重要一点是,此代码段使用了一个value事件,如果当前位置没有数据,它将触发null.
另一方面,来自AngularFire的$firebaseArray()使用Firebase的child_ *事件,该事件不能用于检测集合中特定子项的存在.
标签:angularfire,firebase,firebase-realtime-database,ionic-framework,javascript 来源: https://codeday.me/bug/20191118/2026584.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。