Mongodb: so wählen sie eine zufällige stichprobe von dokumenten aus
Sie können die folgende Syntax verwenden, um eine zufällige Stichprobe von Dokumenten aus einer Sammlung in MongoDB auszuwählen:
db.myCollection.aggregate([ { $sample : { size: 4 } } ])
In diesem speziellen Beispiel wird eine Zufallsstichprobe von 4 Dokumenten aus der Sammlung namens myCollection ausgewählt.
Um eine Zufallsstichprobe mit einer anderen Größe auszuwählen, ändern Sie einfach den Wert im Größenargument .
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis mit einem Inkassoteam verwendet wird, das über die folgenden sieben Dokumente verfügt:
db.teams.insertOne({team: " Mavs ", points: 31}) db.teams.insertOne({team: " Spurs ", points: 22}) db.teams.insertOne({team: " Rockets ", points: 19}) db.teams.insertOne({team: " Warriors ", points: 26}) db.teams.insertOne({team: " Cavs ", points: 33}) db.teams.insertOne({team: " Hornets ", points: 30}) db.teams.insertOne({team: " Nets ", points: 14})
Beispiel: Wählen Sie eine zufällige Stichprobe von Dokumenten in MongoDB aus
Der folgende Code zeigt, wie eine Zufallsstichprobe von 4 Dokumenten aus der Teamsammlung ausgewählt wird:
db.teams.aggregate([ { $sample : { size: 4 } } ])
Diese Abfrage gibt die folgenden Dokumente zurück:
{ _id: ObjectId("6203ee711e95a9885e1e765d"), team: 'Cavs', points: 33 } { _id: ObjectId("6203ee711e95a9885e1e765b"), team: 'Rockets', points: 19 } { _id: ObjectId("6203ee711e95a9885e1e7659"), team: 'Mavs', points: 31 } { _id: ObjectId("6203ee711e95a9885e1e765f"), team: 'Nets', points: 14 }
Beachten Sie, dass die folgenden vier Teams in dieser Zufallsstichprobe enthalten sind:
- Weinhändler
- Raketen
- Mavs
- Netze
Wenn wir die Funktion $sample erneut verwenden, wird eine weitere Zufallsstichprobe von Dokumenten ausgewählt. Das bedeutet, dass es keine Garantie dafür gibt, dass derselbe Satz von Dokumenten ausgewählt wird.
Angenommen, wir wählen eine weitere Zufallsstichprobe von 4 Dokumenten aus der Sammlung des Teams aus:
db.teams.aggregate([ { $sample : { size: 4 } } ])
Diese Abfrage gibt die folgenden Dokumente zurück:
{ _id: ObjectId("6203ee711e95a9885e1e765b"), team: 'Rockets', points: 19 } { _id: ObjectId("6203ee711e95a9885e1e765f"), team: 'Nets', points: 14 } { _id: ObjectId("6203ee711e95a9885e1e765e"), team: 'Hornets', points: 30 } { _id: ObjectId("6203ee711e95a9885e1e765c"), team: 'Warriors', points: 26 }
Die folgenden vier Teams sind in dieser Zufallsstichprobe enthalten:
- Raketen
- Netze
- Hornissen
- Krieger
Beachten Sie, dass diese Zufallsstichprobe nicht perfekt mit der Zufallsstichprobe im vorherigen Beispiel übereinstimmt.
Hinweis : Die vollständige Dokumentation für die Funktion $sample finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in MongoDB ausführen:
MongoDB: So überprüfen Sie, ob das Feld eine Zeichenfolge enthält
MongoDB: So verwenden Sie eine „NO IN“-Abfrage
MongoDB: So fragen Sie „NOT NULL“ in einem bestimmten Feld ab