MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Accedi all'elemento nell'array mongo in java

Per farlo usando il driver Java, puoi fare quanto segue:

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);

Dato che è un po' ingombrante, puoi invece usare QueryBuilder, che ti dà un po' più di leggibilità:

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);