Belgeleri, en düşük foo.bar
değerini (dizi nesnesi olan) içeren sırayla döndürmek istiyorum.Mongodb: dizi nesnelere göre belgeleri sırala
db.collection.find().sort({foo.0.bar: 1})
yapabilirim, ancak bu yalnızca dizideki ilk öğe ile eşleşir - ve aşağıdaki incelemede gördüğünüz gibi, ilk olarak öğe 1'i sıralar (foo.0.bar = 5), wheras Geri dönmek istiyorum öğe 2 en düşük değere sahip nesneyi olduğu gibi ilk (foo.2.bar = 4)
.
{
"name": "Item 1",
"foo": [
{
"bar": 5
},
{
"bar": 6
},
{
"bar": 7
}
]
}
{
"name": "item 2",
"foo": [
{
"bar": 6
},
{
"bar": 5
},
{
"bar": 4
}
]
}
db.collection.find() ({foo.bar: 1}). – Troglo