views:

338

answers:

2

Hello frens..
I am having problem updating the embedded documents in mongodb.
I have a following scenario. A User model has address as the embedded docs.
I am able to embed the address to the parent model ie; User model but i still cant figure out how to update the address embedded even though i have the _id of the address embedded

Please help
Thanks

+1  A: 

You have to retrieve the embedded document from the parent and then make the update operation, e.g:

address = user.address
address.update_attributes(:street => "foo")
jpemberthy
thanks for reply jpemberthy,but this is still not working for me.I can clearly see in my development log like thisproject_name_development['people'].update({"_id"=>BSON::ObjectID('4c5106b6f1936f036c000008'), "address._id"=>"4c5106b6f1936f036c000006"}, {"$set"=>{"address.city"=>"bhaktapur", "address.province"=>"kathmandu"}})which i think should update the address.And i have "address.update_attributes(address_attribute)" in my Person model where address_attribute is the hash of addressAm i missing something?
Gagan
I'm not sure what could be happening then, If you want, please paste a console flow and the models code in a gist, so It will be easier to help you.
jpemberthy
thanks for replying. i figured out that there is error in my model so its not updating. thanks again
Gagan
jpemberthy