Mongodb: hoe u een willekeurige steekproef van documenten selecteert


U kunt de volgende syntaxis gebruiken om een willekeurige steekproef van documenten uit een verzameling in MongoDB te selecteren:

 db.myCollection.aggregate([ { $sample : { size: 4 } } ])

In dit specifieke voorbeeld wordt een willekeurige steekproef van vier documenten uit de verzameling met de naam myCollection geselecteerd.

Om een willekeurige steekproef van een andere grootte te kiezen, wijzigt u eenvoudigweg de waarde in het size- argument.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken met een incassoteam dat over de volgende zeven documenten beschikt:

 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})

Voorbeeld: Selecteer een willekeurige steekproef van documenten in MongoDB

De volgende code laat zien hoe u een willekeurige steekproef van 4 documenten uit de teamscollectie selecteert:

 db.teams.aggregate([ { $sample : { size: 4 } } ])

Deze query retourneert de volgende documenten:

 { _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 }

Merk op dat de volgende vier teams in deze willekeurige steekproef zijn opgenomen:

  • Wijnhandelaren
  • Raketten
  • Mav
  • Netten

Als we de functie $sample opnieuw gebruiken, wordt er nog een willekeurige steekproef van documenten geselecteerd, wat betekent dat er geen garantie is dat dezelfde set documenten zal worden gekozen.

Stel dat we nog een willekeurige steekproef van vier documenten uit de collectie van het team selecteren:

 db.teams.aggregate([ { $sample : { size: 4 } } ])

Deze query retourneert de volgende documenten:

 { _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 }

In deze willekeurige steekproef zijn de volgende vier teams opgenomen:

  • Raketten
  • Netten
  • Horzels
  • Strijders

Merk op dat deze willekeurige steekproef niet perfect overeenkomt met de willekeurige steekproef in het vorige voorbeeld.

Opmerking : u kunt de volledige documentatie voor de functie $sample hier vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in MongoDB kunt uitvoeren:

MongoDB: Hoe u kunt controleren of een veld een string bevat
MongoDB: Hoe een “NO IN” -query te gebruiken
MongoDB: Hoe u „NOT NULL“ in een specifiek veld kunt opvragen

Einen Kommentar hinzufügen

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