Update a single field to array in mongodb using JAVA -


i have documents of below format:

{         "_id" : objectid("559bae5df3fcf46e468a9779"),         "cpf" : "129-87-716",         "name" : "donald carver",         "contact" : 1827626847,         "address" : "937 hamburg path",         "email_address" : "constpherd@yah00.net",         "cards" : {                 "credit_card_number" : "1678-768-420-4188",                 "card_type" : "ivisa",                 "expiry_date" : "mon may 21 15:23:53 ist 2018"         } } 

i want update array of document .

"transactions":[{"transaction_number":"1","transaction_date":"07/07/2015","bank_id":"200","amount":100},                 {"transaction_number":"2","transaction_date":"08/07/2015","bank_id":"0","amount":200},                 {"transaction_number":"3","transaction_date":"06/07/2015","bank_id":"200","amount":100}                        ]        } 

and should below:

{         "_id" : objectid("559bae5df3fcf46e468a9779"),         "cpf" : "129-87-716",         "name" : "donald carver",         "contact" : 1827626847,         "address" : "937 hamburg path",         "email_address" : "constpherd@yah00.net",         "cards" : {                 "credit_card_number" : "1678-768-420-4188",                 "card_type" : "ivisa",                 "expiry_date" : "mon may 21 15:23:53 ist 2018"         }         "transactions":[{"transaction_number":"1","transaction_date":"07/07/2015","bank_id":"200","amount":100},                         {"transaction_number":"2","transaction_date":"08/07/2015","bank_id":"0","amount":200},                         {"transaction_number":"3","transaction_date":"06/07/2015","bank_id":"200","amount":100}                        ]        } } 

this trying using java:

string[] creditcard = line.split(cvssplitby);            dbobject listitem = new basicdbobject("transaction", new basicdbobject("transaction_number",creditcard[1])                                                                        .append("transaction_date",creditcard[2])                                                                        .append("transaction_type",creditcard[3])                                                                        .append("bank_id",creditcard[4])                                                                        .append("amount",creditcard[5])                                                                                 );           dbobject updatequery = new basicdbobject("$push", listitem);         userimage.update(new basicdbobject().append("cards.credit_card_number", creditcard[0]), updatequery); 

the program updates 1 row when run first time.when run second time program not insert doc array ... not able find out logical error in program..


Comments

Popular posts from this blog

android - Pass an Serializable object in AIDL -

How to provide Authorization & Authentication using Asp.net, C#? -

How to use Authorization & Authentication in Asp.net, C#? -