sql >> Base de Datos >  >> NoSQL >> MongoDB

Registro aleatorio de MongoDB

A partir de la versión 3.2 de MongoDB, puede obtener N documentos aleatorios de una colección utilizando $sample operador de tubería de agregación:

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

Si desea seleccionar los documentos aleatorios de un subconjunto filtrado de la colección, anteponga un $match etapa a la canalización:

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

Como se indica en los comentarios, cuando size es mayor que 1, puede haber duplicados en la muestra del documento devuelto.