values true query mongodb

query - unique true mongodb



Obtener valores de registros distintos (5)

¿Hay alguna forma de consultar objetos con valores diferentes en algún campo? Por ejemplo tengo registros:

{ id : 1, name : "my_name", salary : 1200 } { id : 2, name : "my_name", salary : 800 } { id : 3, name : "john", salary : 500 }

Consulta: encuentra todos con NOT_THE_SAME (nombre)

Solo quiero registros con ID 1 y 3 porque especifiqué que no quiero registros con el mismo valor en el name campo o 2 y 3, no importa en esta situación.


Versión de Mongo DB> 3.4

db.test.distinct("name")

Versión de la base de datos de Mongo <3.4

db.test.aggregate([{$group: {_id: "$name", salary: {$max: "$salary"}}}])


Puede usar db.collection.distinct para recuperar una matriz de valores únicos:

> db.test.distinct("name") [ "my_name", "john" ]


También puede utilizar una oración distinta con la colección filtrada. Por ejemplo, puede obtener distintos valores de nombres de salarios superiores a 800 con la siguiente consulta:

db.test.distinct("name", { "salary": { $gt: 800 } })


db.runCommand ( { distinct: "CollectionName", key: "key", query: { "createdDate": { $gte:new ISODate("2017-04-04T23:59:59Z"), $lte:new ISODate("2017-04-25T23:59:59Z")}} } )

esta consulta ayuda a encontrar datos en la recopilación, recuperará el valor de la clave de todos los documentos que cumplan la condición de entre la fecha