public Pair<Data> saveItems(String id, List<Item> items) { final Query findById = ...; final Update update = new Update(); // This is what we actually update update.set(ENTITY_FIELD_ITEMS, newItems); update.inc(ENTITY_FIELD_VERSION, 1); // Try updating and return the old data final Data oldData = findById(); //query to retrieve existing data final Data newData = operations.findAndModify(findById, update, FindAndModifyOptions.options().upsert(true).returnNew(true), Data.class); return new Pair<Data>(oldData, newData); }
Update args = new Update(); args.addToSet("users", new BasicDBObject("$each", users)); args.set("type", "GROUP"); mongoOps.upsert(query, args, Rooms.class, ROOMS);
Update update = new Update(); JSONObject jsonObject = new JSONObject(new SomeClass()); update.set("field",JSON.parse(jsonObject.toString())); update.unset("otherField"); System.out.println(update.getUpdateObject().toString());
MongoOperations mongoOperations; //inject Query query = new Query(); Update update=new Update(); update.set("quantity", materialRequest.getQuantity()); update.set("usrId", materialRequest..getUsrId()); query.addCriteria(Criteria.where("ticketId").is(materialRequest.getTicketId()).and("materialId").is(materialRequest.getMaterialId())); long count = mongoOperations.count(query, MaterialRequest.class); if (count <= 0) { mongoOperations.save(materialRequestList, MongoCollections.MATERIAL_REQUEST_COLLECTION); } else { mongoOperations.updateFirst(query, update, MaterialRequest.class); }
Query query = new Query(); query.addCriteria(Criteria.where("_id").is(new ObjectId("10-100-5675234"))); Update update = new Update(); update.unset("userId"); //the fields you want to remove update.set("putInYourFieldHere", "putInYourValueHere"); //the fields you want to add mongoTemplate.updateFirst(query, update, Device.class);