MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Zufälliger Datensatz von MongoDB

Ab Version 3.2 von MongoDB können Sie mit $sample N zufällige Dokumente aus einer Sammlung abrufen Betreiber der Aggregationspipeline:

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

Wenn Sie zufällig ausgewählte Dokumente aus einer gefilterten Teilmenge der Sammlung auswählen möchten, stellen Sie $match voran Stufe zur Pipeline:

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

Wie in den Kommentaren vermerkt, wenn size größer als 1 ist, kann das zurückgegebene Dokumentmuster Duplikate enthalten.