2016-06-06 22 views
0

Bitte schlagen Sie mir vor, wie Sie ein Objekt in ein Objekt einfügen. ProbensammlungMongoDB Objekt in ein Objekt einfügen

{ 
"_id" : ObjectId("57556cec9d66a6c26b19ce06"), 
"email" : "[email protected]", 
"password" : "1235466", 
"typeOfUser" : 1, 
"userDetails" : { 
    "firstName" : "David", 
    "lastName" : "Beckham", 
    "contactNumber" : "12345678989" 
} 

}

Ich mag würde ein anderes Objekt angerufene Adresse Objekt innerhalb dieser hinzuzufügen. so etwas wie dieses

{ 
"_id" : ObjectId("57556cec9d66a6c26b19ce06"), 
"email" : "[email protected]", 
"password" : "1235466", 
"typeOfUser" : 1, 
"userDetails" : { 
    "firstName" : "David", 
    "lastName" : "Beckham", 
    "contactNumber" : "12345678989" 
    "address" : { 
     "country" : "", 
     "state" : "" 
    } 
    } 

}

Bitte machen Sie mir auf, wie die Werte für die Adresse Objekt einfügen ..

Was ich versucht habe?

db.getCollection ('PetCare'). Update ({"contactNumber": "12345678989"}, {"$ push": {"adresse": {"country": "India", "city": " Blore "}}})

aber nicht aktualisiert ..

Antwort

1

Versuchen Sie Folgendes:

db.getCollection('PetCare').update({"userDetails.contactNumber":"12345678989"},{"$set":{"userDetails.address":{"country":"India","city":"Blore"}}}) 
+0

Das ist 100% richtig .. (userDetails.) Ich habe diesen Wert vermisst .. – Rakesh

0

der $push Operator Sie zur Zeit sollten mit einem Wert zu einem Array hinzuzufügen, so dass wird die Arbeit hier noch nicht geschehen lassen.

Wenn Sie wollen ein Dokument mit einer neuen Eigenschaft aktualisieren, werden Sie den $set Operator verwenden möchten:

db.test.update({contactNumber: "xxx"}, {$set: {address: {country: "India", city: "Blore"}}}) 
Verwandte Themen