Je tente de trier certains documents en fonction de la date d'un document incorporé. Mes documents ressemble à:Trier par document incorporé
[
{
name: 'item1',
slots: [
{
date : ISODate("2013-01-18T23:00:00Z")
},
{
date : ISODate("2013-02-05T23:00:00Z")
},
{
date : ISODate("2013-03-24T23:00:00Z")
},
]
},
{
name: 'item2',
slots: [
{
date : ISODate("2013-01-12T23:00:00Z")
},
{
date : ISODate("2013-01-03T23:00:00Z")
},
{
date : ISODate("2013-03-04T23:00:00Z")
},
]
},
{
name: 'item3',
slots: [
{
date : ISODate("2013-03-14T23:00:00Z")
},
{
date : ISODate("2013-02-18T23:00:00Z")
},
{
date : ISODate("2013-03-07T23:00:00Z")
},
]
}
]
J'ai besoin du résultat ordonné par slots.date ascendant. Donc, résultat devrait ressembler à:
[
{
name: 'item2',
slots: [
{
date : ISODate("2013-01-03T23:00:00Z")
},
{
date : ISODate("2013-01-12T23:00:00Z")
},
{
date : ISODate("2013-03-04T23:00:00Z")
},
]
},
{
name: 'item1',
slots: [
{
date : ISODate("2013-01-18T23:00:00Z")
},
{
date : ISODate("2013-02-05T23:00:00Z")
},
{
date : ISODate("2013-03-24T23:00:00Z")
},
]
},
{
name: 'item3',
slots: [
{
date : ISODate("2013-02-18T23:00:00Z")
},
{
date : ISODate("2013-03-07T23:00:00Z")
},
{
date : ISODate("2013-03-14T23:00:00Z")
}
]
}
]
Première item2, becouse il contient la plus ancienne slot.date (ISODate ("2013-01-03T23: 00: 00Z")). Deuxième item1 parce qu'il contient la deuxième date la plus ancienne (ISODate ("2013-01-18T23: 00: 00Z")) et ainsi de suite .... est-il également possible de trier les dates dans le document incorporé?
Ce que j'ai essayé:
.sort({{slots.date : 1}})
Mais je reçois une erreur de syntaxe. J'utilise MongoVUE pour tester la requête, MongoVUE ne peut pas lancer le tri sur des documenten embarqués? C'est même possible ce que je veux faire?