- 1 year ago 166
Java Question

(MongoDB Java) $push into array

Good morning,
I'm using mongo 2.2.3 and the java driver.
My dilemma, I have to $push a field and value into an array, but I cant seem to figure out how to do this. A sample of my data:

"_id" : 1,
"scores" : [
"type" : "homework",
"score" : 78.97979
"type" : "homework",
"score" : 6.99
"type" : "quiz",
"score" : 99

I can $push in the shell:

db.collection.update({_id:1},{$push:{scores:{type:"quiz", score:99}}})

but it's when I translate this into java I confuse my self and chuck my keyboard at a wall.

my java code (incomplete and wrong) so far:

DBObject find = new BasicDBObject("_id", 1);
DBObject push = new BasicDBObject("$push", new BasicDBObject(
"scores", new BasicDBObject()));

Any help is greatly appreciated.

Answer Source
DBObject listItem = new BasicDBObject("scores", new BasicDBObject("type","quiz").append("score",99));
DBObject updateQuery = new BasicDBObject("$push", listItem);
myCol.update(findQuery, updateQuery);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download