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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert