Firestore Группировка по полю

Ниже представлена ​​структура моей коллекции 9X_vue-js Firestore

9X_Firestore Группировка по полю_vue

Мой метод vue для получения данных

fetchResults(){ db.collection('data').onSnapshot((querySnapShot)=>{ let results = []; querySnapShot.forEach(doc=>{ results.push(doc.data()) }) this.record=results; }) } 

Я 9X_vuetify.js хочу сделать запрос в документе, например, group by ID and order by sec_id desc.

Как 9X_firebase мне сделать такой запрос?

Чтобы я получил 9X_firebasefirestore документ, сгруппированный по полю идентификатора.

3
0
3
Общее количество ответов: 3

Ответ #1

Ответ на вопрос: Firestore Группировка по полю

Как база данных типа NoSQL, Cloud Firestore 9X_firebasefirestore не предлагает никаких запросов агрегирования, таких 9X_vuejs как группировка, сумма, максимум и т. д. Вы 9X_vue должны выполнять эти операции в своем клиентском 9X_vuetify коде. В вашем случае это означает, что вам 9X_vue-js нужно будет запросить все документы в коллекции, а 9X_cloud-firestore затем сгруппировать их по любым нужным полям. В 9X_vuetify.js качестве альтернативы вы можете вести отдельную 9X_vuetify.js коллекцию предварительно сгруппированных 9X_cloud-firestore документов, чтобы удовлетворить ваш запрос. (Подобное 9X_firebase-firestore дублирование данных часто встречается в 9X_firebase-firestore базах данных типа NoSQL.)

10
0

Ответ #2

Ответ на вопрос: Firestore Группировка по полю

Вы можете использовать

fetchResults(){ db.collection('data') .orderBy("id", "asc") .onSnapshot((querySnapShot)=>{ // Do something }) } 

Для получения дополнительной 9X_vue.js информации посетите https://firebase.google.com/docs/firestore/query-data/order-limit-data, и вы также можете 9X_firebase применить фильтр, щелкнув значок фильтра 9X_Firestore Группировка по полю_vuetify

1
0

Ответ #3

Ответ на вопрос: Firestore Группировка по полю

Вместо вычисления данных с помощью агрегированного 9X_vuejs запроса данные должны быть сохранены в самом 9X_vuetify документе с использованием логики на стороне 9X_firebase-android клиента для обновления агрегированных данных 9X_vuetify каждый раз при изменении документа или использовании 9X_vue облачных функций.

См. это сообщение в блоге 9X_vuetify Google.

https://firebase.google.com/docs/firestore/solutions/aggregation

1
0