编程语言
首页 > 编程语言> > javascript-如何使用angularfire检查Firebase中是否存在数据?

javascript-如何使用angularfire检查Firebase中是否存在数据?

作者:互联网

我想在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