sql >> Databasteknik >  >> NoSQL >> MongoDB

Slumpmässig post från MongoDB

Från och med 3.2-versionen av MongoDB kan du hämta N slumpmässiga dokument från en samling med $sample aggregeringspipeline-operatör:

// Get one random document from the mycoll collection.
db.mycoll.aggregate([{ $sample: { size: 1 } }])

Om du vill välja det eller de slumpmässiga dokumenten från en filtrerad delmängd av samlingen, infoga en $match steg till pipelinen:

// Get one random document matching {a: 10} from the mycoll collection.
db.mycoll.aggregate([
    { $match: { a: 10 } },
    { $sample: { size: 1 } }
])

Som noterats i kommentarerna, när size är större än 1, kan det finnas dubbletter i det returnerade dokumentexemplet.



  1. Mongoose befolka efter räddning

  2. Rails hur man avgör om en sidekiq-arbetare är klar med perform_async

  3. Frågar med mangust och dadlar

  4. Cacha tweets med Node.js, Redis och Socket.io