MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Record casuale da MongoDB

A partire dalla versione 3.2 di MongoDB, puoi ottenere N documenti casuali da una raccolta usando $sample operatore della pipeline di aggregazione:

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

Se desideri selezionare i documenti casuali da un sottoinsieme filtrato della raccolta, anteponi un $match fase al gasdotto:

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

Come notato nei commenti, quando size è maggiore di 1, potrebbero essere presenti duplicati nel campione del documento restituito.