{_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:たとえば、などの記述の配列を作成する
$push
を使用して、左がmyCollection
への参加を行うに$lookup
演算子を使用して、新しいコレクションを次のように$group
パイプラインの結果を書いて考えますあなたがすでに念頭に置いているアイデアを先に進めなければならないのです。どんなDBMSでもそういった施設を提供するのは難しいでしょう。 –その記述の値が最初から配列だった場合は、すべての固有の要素を持つ集合配列を持っていた可能性があります。 –
元のデータだけが考え出された場合は笑: – Mika