Я новичок в firebase, и я не уверен, что правильно храню данные.Правильная структура данных в firebase
Я создаю форму для хранения данных. Сейчас у него есть только 2 поля, однако я добавлю еще несколько полей ввода позже.
Моя форма HTML выглядит следующим образом:
<form>
<div class="form-group">
<input placeholder="Event Title..." class="form-control" name="eventTitle" ng-model="newEvent.title">
</div>
<div class="form-group">
<input placeholder="random..." class="form-control" name="eventRandom" ng-model="newEvent.random">
</div>
<button type="submit" class="btn btn-primary pull-right" ng-click="addEvent(newEvent);newEvent = null;">send</button>
Мой контроллер выглядит следующим образом:
.controller('ChatCtrl', function ($scope, Ref, $firebaseArray, $timeout) {
// synchronize a read-only, synchronized array of events, limit to most recent 10
$scope.events = $firebaseArray(Ref.child('events').limitToLast(10));
// display any errors
$scope.events.$loaded().catch(alert);
// provide a method for adding a event
$scope.addEvent = function(newEvent) {
if(newEvent) {
console.dir('newEvent: '+ newEvent);
// push a event to the end of the array
$scope.events.$add({newEvent})
// display any errors
.catch(alert);
}
};
В firebase, данные выглядит следующим образом:
Узел «newEvent» кажется полностью избыточным. Я не уверен, как правильно закодировать мою форму и контроллер. Все примеры, которые я, как представляется, в Интернете, используют в качестве примера чат-комнату, а форма отправки содержит только одно поле textarea.
Я нашел пример с несколькими полями, и он показал вышеприведенный пример, однако, как я уже указывал, узел «newEvent» кажется лишним после того, как сгенерированный firebase ключ.
Каков правильный способ кодирования формы с несколькими полями ввода?
Спасибо за ваш ответ. Теперь это имеет больше смысла. Я не понимал, что я на самом деле толкаю объект. У меня есть вопрос. В конце концов, эти «события» должны отображаться в виде списка. Они также будут связаны с пользователем, который создает событие. Наконец, они будут запрашиваться по названию, а также по дате, а также по геокоординации. (Последние два ввода, которые я еще не добавил в форму.) Есть ли преимущество в хранении объекта только для хранения данных под кнопкой в этом сценарии? – Livi17
Скорее всего, не для ваших событий. Но если у вас есть дерево, которое может содержать несколько экземпляров одного и того же типа, то вы хотите сохранить их под объектом. Если вам гарантируется когда-либо только ** один экземпляр вашей формы (случайный, заголовок и т. Д.), Вам не нужен родительский объект. – theblindprophet