J'ai une fonction de réduction de mappe qui, pour des raisons d'efficacité, ne doit pas être exécutée immédiatement. Donc, je l'ai divisé en fonction d'une gamme d'identifiants, et par conséquent, je reçois un tas de collections séparées. Je veux maintenant les rejoindre et combiner tous les résultats de mapreduce. La table résultante devrait toujours avoir seulement une clé, et un tableau de valeurs avec les valeurs combinées de la table temporaire.MongoDb - Rejoindre une tâche mapreduce scindée
J'ai essayé d'utiliser « réduire » dans ma sortie comme si, de sorte que la table existante juste est mis à jour, mais cela ne fonctionne pas: il me donne
res = db.People.mapReduce(m, r, {query:{xyz}, out:{reduce:"FoodPerPeople"}});
(modifier) tableaux imbriqués :
{
"_id" : "Banana",
"value" : ["Bart", ["Joe"]]
}
Je comprends pourquoi cela est happening-- la fonction re-reduce traite le tableau des valeurs entrées comme une valeur en soi.
Exemple de ce que je cherche:
COLLECTION 1:
{
"_id" : "Banana",
"value" : ["Bart"]
}
COLLECTION 2:
{
"_id" : "Banana",
"value" : ["Joe"]
}
COLLECTION COMBINÉ: - Comment puis-je obtenir?
{
"_id" : "Banana",
"value" : ["Bart", "Joe"]
}
Pouvez-vous clarifier "cela ne fonctionne pas"? Avez-vous une erreur ou des résultats inattendus? – dcrosta
S'il vous plaît voir mes modifications – carlbenson
Merci. Pouvez-vous également montrer votre carte et réduire les fonctions? – dcrosta