Прослушиватель Firebase для синхронизации количества прочтений устройств?Python

Программы на Python
Ответить
Anonymous
 Прослушиватель Firebase для синхронизации количества прочтений устройств?

Сообщение Anonymous »

Сколько операций чтения из Firestore использовало бы каждое устройство, если бы я сделал следующее: Исходное состояние: Firestore имеет:
{
"doc1": {"downloadedBy": ["device12345","device2468"]}, // Downloaded by Device 1 and 3
"doc2": {"downloadedBy": ["device12345","device2468"]}, // Downloaded by Device 1 and 3
...
"doc101": {"downloadedBy": ["device2468"]}, // Downloaded by device 3
"doc102": {"downloadedBy": []}, // Newly added
}

Первое устройство (устройство 12345): загружает документы doc101 и doc102. Обновляет Firestore, чтобы включить устройство12345 в поле «Загружено» для каждого документа.
Второе. Устройство (устройство 67890): документы от doc1 до doc102 включены, поскольку они не загружаются device67890.
Третье устройство (Устройство 2468): документы doc102 включены, поскольку они не загружаются устройством device2468.
Также предполагая, что это правильно, я прав не уверен, что запрос будет загружать именно это в данной ситуации.
def on_snapshot(doc_snapshot, changes, read_time):
for change in changes:
if change.type.name == "ADDED":
print(f"New document added: {change.document.id}")
elif change.type.name == "MODIFIED":
print(f"Document modified: {change.document.id}")
elif change.type.name == "REMOVED":
print(f"Document removed: {change.document.id}")

device_id = "device12345" # Replace with your actual device ID
user_id = "your_user_id" # Replace with the actual user ID

# Reference the subcollection and attach the listener
query = db.collection("PAD").document(user_id).collection("Field").where("downloadedBy", "not-in", [device_id])

Device 1 (device12345):

Initial Reads: 2documents.
Subsequent Reads: None if no new matching documents are added.
Total Reads = 2.
Device 2 (device67890):

Initial Reads: 102 documents.
Subsequent Reads: None if no new matching documents are added.
Total Reads = 102.
Device 3 (device2468):

Initial Reads: 1 document (doc102).
Subsequent Reads: None if no new matching documents are added.
Total Reads = 1.


Подробнее здесь: https://stackoverflow.com/questions/793 ... read-count
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»