sql >> Base de Datos >  >> NoSQL >> MongoDB

Elemento de acceso en la matriz mongo en java

Para hacer esto usando el controlador Java, puede hacer lo siguiente:

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

Dado que eso es un poco difícil de manejar, puede usar QueryBuilder en su lugar, lo que le brinda un poco más de legibilidad:

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