Firestore - Вложенный запрос - PullRequest
0 голосов
/ 25 февраля 2019

Я действительно новичок в firebase и, честно говоря, мне сложно писать вопросы.Я работаю над сценарием на Python, используя firebase_admin, и я хотел бы, чтобы запрос / ответ был в коде Python, но на любом другом языке программирования это нормально.

Вот мой один из моих документов, один документ содержит photos набор

photos: {
    id1: true
    id2: true
}

Я хочу быть элем, чтобы получить все элементы там, где они имеют id1 в объекте photos, какой будет запрос для этого?

1 Ответ

0 голосов
/ 25 февраля 2019

Как показывает документация Firebase по простым запросам :

# Create a reference to the photos collection
ref = db.collection('documents')

# Create a query against the collection
query_ref = ref.where(u'photos.id1', u'==', True)

Для обозначения . см. Документацию по полям во вложенных объектах .

Обратите внимание, что вы, вероятно, захотите изменить свою модель данных, чтобы использовать массив для этих данных, поскольку массивы теперь можно использовать для моделирования математических наборов .С таким массивом в вашем документе:

user: ['id1', 'id2']

Затем можно выполнить фильтрацию с помощью:

photos_ref = db.collection('documents')

query = photos_ref.where(u'photos', u'array_contains', u'id1')

Чтобы добавить / удалить элементы в этом массиве, который ведет себя как-set см. документацию по обновлению элементов в массиве .

...