spostare un sub-document fuori dalla collection

10 views
Skip to first unread message

Stefano Cudini

unread,
Apr 1, 2014, 8:23:31 PM4/1/14
to mongo...@googlegroups.com
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!







Massimo Brignoli

unread,
Jul 19, 2014, 1:01:58 PM7/19/14
to mongo...@googlegroups.com
Stai usando la 2.4 o la 2.6?
Reply all
Reply to author
Forward
0 new messages