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