2017-03-02 4 views
0

Ich habe ein Objekt wie diesesMongoDB Eigenschaft hinzufügen und Verschieben von Elementen aus anderen

{ 
name : "test" 
data : [{"itemcode":"a1"},{"itemcode":"a2"}] 
} 

ich ändern müssen

{ 
name : "test" 
shops :[ 
    { "shopid" : 1, 
    "data" : [{"itemcode":"a1"},{"itemcode":"a2"}] 
}] 
} 

Ich versuche zu aktualisieren, aber ich kann das Array nicht kopieren Sie es noch Ramain leer. Zum Aktualisieren verwende ich

db.getCollection("shop").find({}).forEach(function(doc){ 
var a = doc.data; 
var s = [{ 
    "shopid":NumberInt(1), 
    "data": a}] 

db.collection.save(doc); 
}); 

Antwort

2

Sie müssen Array zu doc.shops zuweisen.

db.getCollection("shop").find({}).forEach(function(doc){ 
    var a = doc.data; 
    doc.shops = [{ 
     "shopid":NumberInt(1), 
     "data": a}]; 

    delete doc.data; 

    db.collection.save(doc); 
}); 
Verwandte Themen