检索唯一的孩子从Firebase添加到Firebase中的侦听器

时间:2018-11-14 15:33:54

标签: python firebase firebase-realtime-database

我目前正在运行此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 :(得分:1)

Firebase同步数据库状态,这不是消息传递机制。

这意味着,如果在节点上附加侦听器,则将获得该节点下的所有数据。如果只需要新数据,则必须定义“新”的含义。

例如:如果new表示在附加侦听器后添加了数据,则您可能希望在子节点中添加时间戳并对其进行过滤。

或者,您只能请求最近的child_added事件。我不确定如何使用您正在使用的Python库执行此操作,但是在JavaScript中,它将是firebase.database().ref('accelerometerData/faultyMotorData').orderByKey().limitToLast(1).on('child_added'...

另请参阅: