मेरे पास 2 ऑब्जेक्ट्स वाला डेटाबेस है। यह इस तरह दिखता है:फ़ायरबेस एंजुलरफायर 2 जांच रहा है कि उपयोगकर्ता डेटाबेस में मौजूद है
users
- KEY
login: "xexe"
password: "123"
- KEY
login: "dede"
password: "123"
अब मैं उपयोगकर्ता डेटाबेस
constructor(private af: AngularFire) {
this.users = af.database.list('/users');
}
registerUser(login: string, password: string) {
this.af.database.list('/users', {
query: {
orderByChild: 'login',
equalTo: login
}
}).subscribe(response => {
if(response.length === 0) {
console.log("User does not exist");
//here i will add a user
} else {
console.log("Users exists");
}
})
}
समस्या क्या है में मौजूद रहने पर जाँच कर रहा हूँ?
की 'देदे "प्रवेश के साथ एक उपयोगकर्ता रजिस्टर करने के लिए कोशिश करते हैं (उपयोगकर्ता चाहिए मौजूद है)
जब मैं एक सबमिट बटन पर पहली बार क्लिक करें, कंसोल पता चलता है: Users exists
-> अच्छी तरह से, यह अच्छी बात है।
समस्या जब मैं
फिर console.log मुझे दो संदेश
User does not exist
User exists
और कहा कि एक नया उपयोगकर्ता जोड़ना होगा क्या नहीं करना चाहिए पता चलता (वेबपेज ताज़ा बिना) दूसरी बार सबमिट क्लिक करें है सामाप्त करो। क्यों दूसरी बार सबस्क्राइब फ़ंक्शन हर पंक्ति के माध्यम से पुनरावृत्त होता है? इसे कैसे जोड़ेंगे?
क्या यह 'if (डेटा। $ Value! = Null) {', 'if (data। $ Value! == null) {' के बजाय होना चाहिए? – alltej
मैं angularFire2 का उपयोग कर रहा हूँ। ऑब्जेक्ट के लिए यह चेक काम नहीं कर रहा है। – alltej
मुझे यह भी '' const उपयोगकर्ता = this.af.database.object ('users/$ {login} ', {preserve स्नैपशॉट: सत्य}) करना है;' 'इसे काम करने के लिए और' data.val का उपयोग करना है () ' – alltej