Mongodb: rastgele bir belge örneği nasıl seçilir?


MongoDB’deki bir koleksiyondan rastgele bir belge örneği seçmek için aşağıdaki sözdizimini kullanabilirsiniz:

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

Bu özel örnek, myCollection adlı koleksiyondan 4 belgeden oluşan rastgele bir örnek seçer.

Farklı büyüklükte rastgele bir örnek seçmek için boyut bağımsız değişkenindeki değeri değiştirmeniz yeterlidir.

Aşağıdaki örnek, bu sözdiziminin, aşağıdaki yedi belgeye sahip bir koleksiyon ekibiyle pratikte nasıl kullanılacağını gösterir:

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

Örnek: MongoDB’de rastgele bir belge örneği seçin

Aşağıdaki kod, ekiplerin koleksiyonundan rastgele 4 belge örneğinin nasıl seçileceğini gösterir:

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

Bu sorgu aşağıdaki belgeleri döndürür:

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

Bu rastgele örnekleme aşağıdaki dört takımın dahil edildiğini unutmayın:

  • Şarap tüccarları
  • Roketler
  • Mav’ler
  • Ağlar

$sample işlevini tekrar kullanırsak, başka bir rastgele belge örneği seçecektir; bu, aynı belge kümesinin seçileceğinin garantisi olmadığı anlamına gelir.

Örneğin, ekibin koleksiyonundan 4 belgeden oluşan başka bir rastgele örnek seçtiğimizi varsayalım:

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

Bu sorgu aşağıdaki belgeleri döndürür:

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

Aşağıdaki dört takım bu rastgele örnekleme dahil edilmiştir:

  • Roketler
  • Ağlar
  • Hornetler
  • Savaşçılar

Bu rastgele örneğin önceki örnekteki rastgele örnekle tam olarak eşleşmediğini unutmayın.

Not : $sample işlevine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde MongoDB’de diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

MongoDB: Alanın bir dize içerip içermediği nasıl kontrol edilir
MongoDB: “NO IN” sorgusu nasıl kullanılır?
MongoDB: Belirli bir alanda “NULL DEĞİL” sorgusu nasıl yapılır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir