sql >> Database >  >> NoSQL >> MongoDB

Toegangselement in mongo-array in java

Om dit te doen met behulp van het Java-stuurprogramma, kunt u het volgende doen:

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

Aangezien dat een beetje onpraktisch is, kunt u in plaats daarvan de QueryBuilder gebruiken, wat u een beetje meer leesbaarheid geeft:

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


  1. Weten wanneer de resque-werker de taak had voltooid

  2. Hoe zie ik eventuele wijzigingen (nieuwe rij) in mongoDB?

  3. Hoe houd ik documenten samengevoegd met $unwind

  4. MongoDB $first Aggregation Pipeline Operator