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
Post a Comment