я следующее:Монго объединить в массив
{_id: blah, anotherId: "externalId", description: "foo"},
{_id: blah, anotherId: "externalId", description: "bar"},
...
Я хочу:
{_id: blah, anotherId: "externalId", descriptions: ["foo", "bar"]}
Я знаю, что могу просто написать это, но это очень медленно, так как у меня есть миллионы записей.
db.collectionOfAnotherId.find().forEach(function(r){
var x = {anotherId: r.id, descriptions: []};
db.myCollection.find({anotherId: x.anotherId}).forEach(function(d){
x.descriptions.push(d.description); });
db.newCollection.save(x);
})
Любые идеи?
I Я боюсь, что вам придется идти вперед с идеей, что вы уже имеете в виду. Для любой СУБД было бы сложно предоставить такое средство. –
Если значение этого описания было массивом с самого начала, тогда у вас мог бы быть коллективный массив со всеми уникальными элементами, но ... –
Да, если бы были продуманы только оригинальные данные :) – Mika