Как я могу получить ребенка внутри родительского ребенка в Firebase? - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь поместить свои данные, вложенные пользователем, в проекте есть задача. Кажется, я не могу получить это внутри ключа.

В принципе, я хотел, чтобы это было похоже на

enter image description here

Но мой результат выглядит как -

enter image description here

Мой JavaScript

<script>

    var database = firebase.database();

    var userRef = database.ref('/user');
    var projectRef = database.ref('/user/project');
    var taskRef = database.ref('/user/project/task');

    var userDisplay = userRef.push({
        username: 'userA',
        firstname: 'John',
        lastname: 'Smith'
        });

    var projectDisplay = projectRef.push({
        projectname: 'Project Test 1',
        projectdate: '12th December 2019'
        });

    var taskDisplay = taskRef.push({
        taskname: 'Task 1',
        taskdate: '12th December 2019',
        taskdetail: 'Task Testing'
    });

    console.log("Running...");

    document.getElementById('test').innerHTML= userDisplay + ' ' + projectDisplay + ' ' + taskDisplay;  

</script>

1 Ответ

1 голос
/ 13 марта 2019

Одним из решений является использование метода update() следующим образом:

  var newUserKey = firebase
    .database()
    .ref()
    .child('user')
    .push().key;

  var newProjectKey = firebase
    .database()
    .ref()
    .child('user/' + newUserKey)
    .push().key;

  var newTaskKey = firebase
    .database()
    .ref()
    .child('user/' + newUserKey + '/' + newProjectKey)
    .push().key;

  var updates = {};

  updates['/user/' + newUserKey] = {
    username: 'userA',
    firstname: 'John',
    lastname: 'Smith'
  };

  var project = {};
  project[newProjectKey] = {
    projectname: 'Project Test 1',
    projectdate: '12th December 2019'
  };
  updates['/user/' + newUserKey]['project'] = project;

  var task = {};
  task[newTaskKey] = {
    taskname: 'Task 1',
    taskdate: '12th December 2019',
    taskdetail: 'Task Testing'
  };

  updates['/user/' + newUserKey]['project'][newProjectKey]['task'] = task;

  firebase
    .database()
    .ref()
    .update(updates);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...