j'ai deux MongoDB
collections: La première est une collection qui comprend des informations de fréquence pour différents identifiants et est représenté (forme tronquée) ci-dessous:MongoDB - Comment utiliser MapReduce pour fusionner une valeur d'une collection dans une autre collection sur plusieurs clés d'une seconde collection?
[
{
"_id" : "A1",
"value" : 19
},
{
"_id" : "A2",
"value" : 6
},
{
"_id" : "A3",
"value" : 12
},
{
"_id" : "A4",
"value" : 8
},
{
"_id" : "A5",
"value" : 4
},
...
]
La deuxième collection est plus complexe et contient des informations pour chaque _id
énumérés dans la première collection (il est appelé frequency_collection_id
dans la deuxième collection), mais frequency_collection_id
peut être à l'intérieur de deux listes (info.details_one
et info.details_two
) pour chaque enregistrement:
[
{
"_id" : ObjectId("53cfc1d086763c43723abb07"),
"info" : {
"status" : "pass",
"details_one" : [
{
"frequency_collection_id" : "A1",
"name" : "A1_object_name",
"class" : "known"
},
{
"frequency_collection_id" : "A2",
"name" : "A2_object_name",
"class" : "unknown"
}
],
"details_two" : [
{
"frequency_collection_id" : "A1",
"name" : "A1_object_name",
"class" : "known"
},
{
"frequency_collection_id" : "A2",
"name" : "A2_object_name",
"class" : "unknown"
}
],
}
}
...
]
Wha t Je cherche à faire, est de fusionner les informations de fréquence (de la première collection) dans la deuxième collection, en effet la création d'une collection qui ressemble à:
[
{
"_id" : ObjectId("53cfc1d086763c43723abb07"),
"info" : {
"status" : "pass",
"details_one" : [
{
"frequency_collection_id" : "A1",
"name" : "A1_object_name",
"class" : "known",
**"value" : 19**
},
{
"frequency_collection_id" : "A2",
"name" : "A2_object_name",
"class" : "unknown",
**"value" : 6**
}
],
"details_two" : [
{
"frequency_collection_id" : "A1",
"name" : "A1_object_name",
"class" : "known",
**"value" : 19**
},
{
"frequency_collection_id" : "A2",
"name" : "A2_object_name",
"class" : "unknown",
**"value" : 6**
}
],
}
}
...
]
Je sais que cela devrait être possible avec MongoDB de MapReduce
fonctions, mais tous les exemples que j'ai vus sont soit trop minimes pour ma structure de collection, soit répondent à des questions différentes de celles que je recherche.
Est-ce que quelqu'un a des pointeurs? Comment puis-je fusionner mes informations de fréquence (de ma première collection) dans les enregistrements (à l'intérieur de mes deux listes dans chaque enregistrement de la deuxième collection)?
Je sais que cela est plus ou moins un JOIN
, qui MongoDB
ne supporte pas, mais de ma lecture, il semble que c'est un excellent exemple de MapReduce
. J'apprends le Mongo du mieux que je peux, alors s'il vous plaît pardonnez-moi si ma question est trop naïve.