Я новичок в FireBase.
Я хочу получить дочерние данные вместе с ключом.
Следующий код, который я пробовал в среде nodejs.
var firebase = require("firebase");
firebase.initializeApp({
databaseURL: "https://some.firebaseio.com/"
});
var customer = firebase.database().ref().child('customer');
const fname = "name";
const lname = "title";
customer.orderByChild("partnerFirstName").equalTo(fname).on('child_added', function (snapshot) {
console.log(snapshot.val());
var fn = snapshot.val().partnerFirstName;
var custdata = snapshot.val();
console.log(custdata);
console.log("FirstName:"+fn);
if (custdata.partnerFirstName === fn) {
console.log(custdata);
}
});
Вывод выглядит следующим образом
{
createdAt: '2018-03-20T23:25:35.212Z',
partnerEmail: 'beard@yahoo.com',
partnerFirstName: 'name',
partnerGender: 'male',
partnerLastName: 'title',
partnerPhone: '444-602-4444',
profilePicture: 'assets/profile_icon.png',
uid: 'x99wl8kkmJSENpNdVMXTXCh7amy2' }
FirstName: name
В этом случае мы не получаем значение ключа записи, но имя приходит без ошибок.
Но когда мы попробовали следующий код, ключ приходит вместе с данными, а имя приходит как неопределенное
var customer = firebase.database().ref().child('customer');
const fname = "Name";
const lname = "Title";
customer.orderByChild("partnerFirstName").equalTo(fname).on('value', function (snapshot) {
console.log(snapshot.val());
var fn = snapshot.val().partnerFirstName;
var custdata = snapshot.val();
console.log(custdata);
console.log("FirstName:"+fn);
if (custdata.partnerFirstName === fn) {
console.log(custdata);
}
});
Вывод выглядит следующим образом
{ '-L84iSPyr9bPvnJZ6BgV':
{
createdAt: '2018-03-20T23:25:35.212Z',
partnerEmail: 'beard@yahoo.com',
partnerFirstName: 'name',
partnerGender: 'male',
partnerLastName: 'title',
partnerPhone: '444-602-4444',
profilePicture: 'assets/profile_icon.png',
uid: 'x99wl8kkmJSENpNdVMXTXCh7amy2' } }
FirstName: undefined
Как получить дочерние данные вместе с ключом?