Angenommen, wir haben 10 Sammlung, dann müssen wir die Zählung auf der Grundlage von tag_id
finden. Wenn zum Beispiel tag_id
0 und 1 enthält, müssen wir alle Daten zählen sowie die Daten zählen, die nicht tag_id
haben oder tag_id
null ist. Wenn es dann ungelesen ist: false, dann kommt die Ausgabe, Zähle alle ungelesenen.So erhalten Sie Daten Mongo-Daten mit Aggregat MongoDB
Suchen Sie die Anzahl der Tag-ID und die Anzahl der ungelesenen, wenn falsch.
{
"_id": ObjectId("5912c7240520df77f0c2c18a"),
"email_id": "54",
"unread": "false",
"__v": NumberLong(0),
"tag_id": ["0"
]
}, {
"_id": ObjectId("5912c71e0520df77f0c2c189"),
"email_id": "55",
"unread": "false",
"__v": NumberLong(0),
"tag_id": [
"1"
]
}, {
"_id": ObjectId("5912c71d0520df77f0c2c186"),
"email_id": "51",
"unread": "false",
"__v": NumberLong(0),
"tag_id": [
"2", "1"
]
}
erwartete Ergebnis:
{
"data": [{
"tag_id": "1",
"count_email": 1,(count of email on the basis of tag_id)
"unread": 9(count the unread on the basis of output of tag_id)
}, {
"tag_id": "3",
"count_email": 45,
"unread": 3
}, {
"tag_id": "2",
"count_email": 5,
"unread": 4
}, {
"id": null,
"count_email": 52,
"unread": 35
}]
}
Dies ist nicht klar, erwartete Ausgabe entspricht nicht den von Ihnen bereitgestellten Beispieldokumenten. Können Sie die erwartete Ausgabe aktualisieren und einige Details dazu hinzufügen, was Sie erreichen möchten? – felix
Mongo bietet Aggregationen, Map Reduce, etc ... aber diese Operationen in der Praxis skalieren nicht in einem Transaktionssystem. Wenn es um Analysen geht, dann gibt es dafür besser geeignete Datenspeicher als Mongo. – arboreal84
danke. OK . wird sich darum kümmern –