Me gustaría devolver los documentos en un orden ordenado por el cual tiene el menor valor de foo.bar
(que son objetos de matriz).Mongodb: ordenar documentos por objetos de matriz
Puedo hacer db.collection.find().sort({foo.0.bar: 1})
, pero esto solo concuerda con el primer elemento de la matriz - y como puede ver en el siguiente examen ordenaría primero el elemento 1 (foo.0.bar = 5), cuando estoy buscando devolverlo item 2 primero (foo.2.bar = 4)
ya que tiene el objeto con el valor más bajo.
{
"name": "Item 1",
"foo": [
{
"bar": 5
},
{
"bar": 6
},
{
"bar": 7
}
]
}
{
"name": "item 2",
"foo": [
{
"bar": 6
},
{
"bar": 5
},
{
"bar": 4
}
]
}
db.collection.find() tipo ({foo.bar: 1}). – Troglo