Получить только childAdded из firebase моему слушателю в firebase - PullRequest
0 голосов
/ 14 ноября 2018

У меня в данный момент есть скрипт Python, работающий

# Setup Firebase Listner

# Retrieve the data from Firebase and do the analysis

# Append the data to Firebase

from firebase_streaming import Firebase

# Firebase object
fb = Firebase('https:***************.firebaseio.com/')


# Callback function to Analyze the data for a Faulty Motor
def performAnalysis_FaultyMotor(x):
    print(x)

def performAnalysis_motor(x):
    print(x)

# Declaring Custom callback definitions for the faulty and motor data
custom_callback_faultyMotor = fb.child("accelerometerData/faultyMotorData").listener(performAnalysis_FaultyMotor)
custom_callback_motor = fb.child("accelerometerData/motorData").listener(performAnalysis_motor)


# Start and stop the stream using the following
custom_callback_faultyMotor.start()
custom_callback_motor.start()

, который возвращает мне все данные в соответствующем узле, к которому подключен мой слушатель.

Но мне требуется только новый добавленный дочерний элемент под этим узлом.

Любая идея, как мне этого добиться ???

1 Ответ

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

Firebase синхронизирует состояние базы данных, это не механизм передачи сообщений.

Это означает, что если вы присоединяете слушателя к узлу, вы получаете все данные под этим узлом.Если вам нужны только новые данные, вам придется определить, что означает «новый».

Например: если новые средства означают данные, добавленные после того, как вы прикрепите прослушиватель, вы можете добавить временную метку в свои дочерние узлы и отфильтровать ее.

В качестве альтернативы, вы можете запросить толькопоследнее событие child_added.Я не уверен, как это сделать с библиотекой Python, которую вы используете, но в JavaScript это будет firebase.database().ref('accelerometerData/faultyMotorData').orderByKey().limitToLast(1).on('child_added'....

Также см .:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...