J'ai une liste de cultures avec leurs attributs tels que le lieu où elles ont été plantées, la technique de plantation utilisée, l'expérience et la culture elle-même. J'ai réussi à les regrouper par culture et par coordonnées (qui représentent l'emplacement), mais ils sont regroupés séparément. Voici mon code qui les regroupe et les compte.
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
// Reference messages collection
// var messagesRef = firebase.database().ref('Planting-Calendar-Entries');
database = firebase.database()
var ref = database.ref('Planting-Calendar-Entries');
ref.on('value', gotData, errData);
function gotData(data){
console.log(data.val())
var veggie = data.val();
const counts = Object.values(veggie).reduce((counts, { Veg_planted, coordinates }) => ({
...counts,
[Veg_planted]: (counts[Veg_planted] || 0) + 1,
[coordinates]: (counts[coordinates] || 0) + 1
}), {});
console.log(counts);
}
function errData(err){
console.log('Error!');
console.log(err)
}
Voici le résultat du code ci-dessus :
"-35.2294059, 173.9472028": 1
"-6.2087634, 106.845599": 3
"-1.2920659, 36.8219462": 1
"-0.3688967, 35.286286": 10
"-0.3206518, 35.21896820000001": 1
"-0.1634664, 35.5931397": 1
"-0.3452364, 35.1519724": 2
Ageratum: 3
"Balloon Flower": 2
Beetroot: 1
"Bells Of Ireland": 2
Broccoli: 1
Cabbage: 12
J'aimerais qu'ils soient regroupés et comptés comme ci-dessous :
"-0.3688967, 35.286286", Cabbage: 8
"-1.2920659, 36.8219462", Cabbage: 2
"-0.3206518, 35.21896820000001", Broccoli: 1
"-0.3688967, 35.286286", Beetroot: 1
"-0.3452364, 35.1519724", Ageratum: 2
Si vous avez une idée de ce que je peux faire, je vous en serai reconnaissant. Merci !