Assorti Dire que j'ai une collection avec des documents qui ressemblent à ceci:Trier par Subdocument
{
"_id": ObjectId("507f191e810c19729de860ea"),
"users": [{
"userId": ObjectId("507f1f77bcf86cd799439011"),
"deleted": false,
"updatedAt" ISODate("2013-10-17T20:46:22Z")
}, {
"userId": ObjectId("507f1f71baf40ea8438490fa"),
"deleted": false,
"updatedAt" ISODate("2013-10-17T22:19:10Z")
}]
}
Maintenant, supposons que j'Interrogation un document qui a un « utilisateur » sous-document contenant une userId spécifique, qui ISN « t supprimé - donc, une requête ressemblant à:
{"users.userId": ObjectId("507f1f77bcf86cd799439011"), "users.deleted": false}
Serait-il possible de trier puis retourné par l'resultset attribut updatedAt
de la sous-document adapté à la ligne? Si ce n'est pas le cas, y a-t-il une façon plus appropriée de mettre cela en place? Devrais-je simplement créer une autre collection de ce que j'ai actuellement incorporé dans la clé users
, puis avoir cette référence le document parent?
Si j'ai un index défini comme: '{" users.userId ": 1," users.deleted ": 1," users.updatedAt ": -1}', cet index couvre-t-il cette requête? Cela serait courant, donc s'il est plus logique d'en faire une collection séparée pour des raisons de performance, je préférerais le faire. –
@ColinMorelli oui cela fonctionnera toujours. – Jhanvi
@ColinMorelli mais vous pouvez toujours le tester, pour être sûr. – Jhanvi