Ich habe ein ähnliches Schema wie
Ich möchte die Anzahl der Benutzer finden, die mindestens einmal zwischen 20 und 30 Punkte erreicht haben.
Ich habe die folgende Abfrage versucht
Aber das schließt auch diejenigen mit Markierungen mehr als 30 ein ...
Also vorausgesetzt, Sie hatten die folgenden Daten in der Sammlung Scores:
Dann würden Sie erwarten, die user_ids 3 und 4 mit einer Anzahl von 2 zu filtern.
Der einfachste Weg, um Ihre Abfrage auszuführen, ist:
Aber nicht hübsch ...
Verwenden Sie $elemMatch , um beide Teile der Bereichsabfrage zu beschränken zum selben marks Element:
$elemMatch
marks
Ist es nicht nur das:
Was in Ihrem Fall zu übersetzen würde:
Tags und Links arrays mongodb