ho una collection che contiene documenti con questa struttura:
{
"_id": ObjectId("51561a893139949d06000001"),
...
"settori": [
{"nome": "primo"},
{"nome": "secondo"}
]
}
}
vorrei tirare fuori dal campo settori gli elementi da cui è composto ed inserirli in docs separati dentro ad un'altra collection.
Mantenendo cmq un riferimenti dei nuovi docs sottoforma di array nel vecchio campo settori.
Con mongodb shell faccio cosi:
db.cose.find({settori:{$exists:1}},{settori:1}).forEach(function(doc) {
var setIds = [];
for(s in doc.settori) {
setIds.push( db.settori.insert(doc.settori[s]) );
}
db.cose.update({_id: doc._id}, {$set: {settori: setIds} });
});
Però che setts mi si riempie di valori null!!
davo per scontato che la insert ritornasse l'id del nuovo documento!! ma non lo fa!
Come faccio a prendere l'id nel nuovo documento inserto nella nuova collection ???
grazie!