ОК, у меня есть две коллекции. Один из них имеет 6 миллионов документов, другой имеет 25 миллионов документов. Я хочу их в новой коллекции:
Пример коллекции 1:
Mov ie
{"movieId" : "1", "name" : "Titanic"},
{"movieId" : "2", "name" : "King Kong"}
Пример коллекции 2:
Персонаж
{"characterId": "1", "movieId": "1", "characterName": "Name 1"},
{"characterId": "2", "movieId": "1", "characterName": "Name 2"},
{"characterId": "3", "movieId": "1", "characterName": "Name 3"}
Итак, я хочу новую коллекцию, такую как:
{
"movieId" : "1",
"name" : "Titanic",
"characters":[ *collection 2 here* ]
},
{
"movieId" : "2",
"name" : "King Kong",
"characters":[]
}
Я пытался:
db.Movie.aggregate([{ $lookup: { from: "Character",localField: "movieId", foreignField: "movieId", as: "characters" }},{ $out : "movie_characters" }])
Но это никогда не заканчивается :( (никогда я не имел в виду, как 10 часов позже он все еще думал) Если я выполню это без $ out, то результаты будут показаны через 10 минут.
Я что-то не так делаю с $ out?
Спасибо за любой совет.