Je veux utiliser l'agrégation MongoDB pour peupler users
dans comments
. Je peux facilement l'utiliser pour peupler createdBy
avec l'opérateur $lookup
.
Ma question est y a-t-il un moyen d'utiliser peut-être l'opérateur $each
dans l'agrégation ou quelque chose comme ça pour peupler user
dans les commentaires?
Je l'ai essayé avec Mongo 3.2 mais quelque part j'ai lu que ce sera une nouvelle fonctionnalité pour quelque chose comme ça dans 3.4? Je veux éviter d'utiliser un $unwind
et des $groupes
(j'ai réussi à le faire) et des choses similaires afin que la requête ne devienne pas du code spaghetti.
utilisateurs:
{
"_id" : ObjectId("582c31d4afd9252c8515a88b"),
"fullName": "test1"
},
{
"_id" : ObjectId("582c3db0afd9252c8515a88d"),
"fullName": "test2"
}
et posts:
{
"_id" : ObjectId("5829cac7e9c0994d3db718f8"),
"imgUrl": "images/test.jpg",
"createdBy": ObjectId("582c31d4afd9252c8515a88b"),
"comments": [
{
"_id" : ObjectId("5829cab8e9c0994d3db718f7"),
"content": "blabla",
"user": ObjectId("582c31d4afd9252c8515a88b")
}
]
}
sortie attendue:
{
"_id" : ObjectId("5829cac7e9c0994d3db718f8"),
"imgUrl": "images/test.jpg",
"createdBy": ObjectId("582c31d4afd9252c8515a88b"),
"comments": [
{
"_id" : ObjectId("5829cab8e9c0994d3db718f7"),
"content": "blabla",
"user": {
"_id" : ObjectId("582c31d4afd9252c8515a88b"),
"fullName": "test1"
}
}
]
}