Để thực hiện việc này bằng trình điều khiển Java, bạn có thể làm như sau:
DBObject queryForElem = new BasicDBObject("array", new BasicDBObject("$elemMatch", new BasicDBObject("id", "3456")));
DBObject updateMatchingElem = new BasicDBObject("$set", new BasicDBObject("array.$.Y", "1"));
coll.update(queryForElem, updateMatchingElem);
Do hơi khó sử dụng, bạn có thể sử dụng QueryBuilder để thay thế, giúp bạn dễ đọc hơn một chút:
DBObject queryForElem = QueryBuilder.start("array").elemMatch(new BasicDBObject("id", "3456")).get();
DBObject updateMatchingElem = new BasicDBObject("$set", new BasicDBObject("array.$.Y", "1"));
coll.update(queryForElem, updateMatchingElem);