Ошибка запроса к базе данных Firebase: дочерний элемент не является функцией - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть таблица users в Firebase с этими данными

{
  "users" :
  [
   {"id": 1,
     "fcmToken" : "APA91bHJAzXe384OEYvfk4bKsyS1NQvteph7DwG7JRIMm_HuXg8EeNllVrsSi0v9W_Gh95ezbOStp3ZWuWl0AzFKxMaCOjN81yiz7A5qhkONrd7lP2CTkUbFErw28r3ONTLvo8c8sO7hdiWY78iar8s:APA91bHJAzXe384OEYvfk4bKsyS1NQvteph7DwG7JRIMm_HuXg8EeNllVrsSi0v9W_Gh95ezbOStp3ZWuWl0AzFKxMaCOjN81yiz7A5qhkONrd7lP2CTkUbFErw28r3ONTLvo8c8sO7h",
     "fName" : "John",
     "lName" : "Doe",
     "phone" : "9786770861"
   },
   {"id": 2,
     "fcmToken" : "APA91bHJAzXe384OEYvfk4bKsyS1NQvteph7DwG7JRIMm_HuXg8EeNllVrsSi0v9W_Gh95ezbOStp3ZWuWl0AzFKxMaCOjN81yiz7A5qhkONrd7lP2CTkUbFErw28r3ONTLvo8c8sO7hdiWY78iar8s:APA91bHJAzXe384OEYvfk4bKsyS1NQvteph7DwG7JRIMm_HuXg8EeNllVrsSi0v9W_Gh95ezbOStp3ZWuWl0AzFKxMaCOjN81yiz7A5qhkONrd7lP2CTkUbFErw28r3ONTLvo8c8sO7h",
     "fName" : "Jane",
     "lName" : "Doe",
     "phone" : "6178779690"
   }

 ]
}

после импорта я получаю это

enter image description here

Я пытался запросить его, используя NodeJS

/*================================
=            Database            =
================================*/

var admin = require("firebase-admin");

var serviceAccount = require('/Users/john/Desktop/Apps/APNS/node/mhn-app-firebase-adminsdk-bs45c-5ac3770488.json');

var firebase = admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://mhn-app.firebaseio.com"
});



var db = firebase.database();
var users = db.child('users');
var query = users.orderByChild('fcmToken');

console.log(users);

Я продолжал получать эту ошибку:

⚡️  node  node app.js                                                           
/Users/john/Desktop/Apps/APNS/node/app.js:17                                  
var users = db.child('users');                                                 
               ^                                                               

TypeError: db.child is not a function                                          
    at Object.<anonymous> (/Users/john/Desktop/Apps/APNS/node/app.js:17:16)   
    at Module._compile (module.js:643:30)                                      
    at Object.Module._extensions..js (module.js:654:10)                        
    at Module.load (module.js:556:32)                                          
    at tryModuleLoad (module.js:499:12)                                        
    at Function.Module._load (module.js:491:3)                                 
    at Function.Module.runMain (module.js:684:10)                              
    at startup (bootstrap_node.js:187:16)                                      
    at bootstrap_node.js:608:3  

db.child не является функцией

Я следовал точному синтаксису из учебника Firebase:

https://www.youtube.com/watch?v=3WTQZV5-roY

Посмотрите на 4: 33 минут, вы увидите его

enter image description here

Я надеюсь, что кто-то может пролить свет на это

1 Ответ

0 голосов
/ 29 ноября 2018

Я не знаю, где вы нашли этот пример (очевидно, с канала YouTube Firebase! ??), но метод child() - это метод Reference, а не Database.

Поэтому вы должны сделать:

var db = firebase.database();
var users = db.ref().child('users');
var query = users.orderByChild('fcmToken');

или напрямую:

var db = firebase.database();
var users = db.ref('users');
var query = users.orderByChild('fcmToken');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...