List of usage examples for org.springframework.data.mongodb.core.query BasicQuery BasicQuery
public BasicQuery(Document queryObject, Document fieldsObject)
From source file:com.okode.demos.mmaps.controller.APIController.java
@ApiOperation("Find entities by filter and fields inside a view") @RequestMapping(value = "/findentities", method = RequestMethod.GET) private GeoJSON findEntitiesInsideViewByFilterFields(@RequestParam(defaultValue = "24.25079") float lat1, @RequestParam(defaultValue = "-35.912262") float lng1, @RequestParam(defaultValue = "53.46439") float lat2, @RequestParam(defaultValue = "28.951021") float lng2, @RequestParam(defaultValue = "office") String collection, @RequestParam(defaultValue = "{\"properties.address.region\":\"MADRID\"}") String filter, @RequestParam(defaultValue = "{\"_id\":0,\"type\":1,\"geometry\":1,\"properties.name\":1,\"properties.url\":1,\"properties.pictures\":1}") String fields) { Criteria isInsideView = Criteria.where("geometry.coordinates") .within(new Box(new Point(lng1, lat1), new Point(lng2, lat2))); Query query = new BasicQuery(filter, fields).addCriteria(isInsideView); return new GeoJSON(mongoTemplate.find(query, DBObject.class, collection)); }
From source file:org.ingini.mongodb.spring.example.read.TestFindOne.java
@Test public void shouldFindOneArrayElement() { //GIVEN//from w w w .j ava 2s . c o m CollectionManager.cleanAndFill(mongoTemplate.getDb(), "characters.json", HumanCharacter.COLLECTION_NAME); //WHEN Hero hero = mongoTemplate.findOne(new BasicQuery( Query.query(Criteria.where("_id").is(new ObjectId("52516b563004ba6b745e864f"))).getQueryObject(), Query.query(Criteria.where("children") .elemMatch(Criteria.where("first_name").is("Sansa").and("last_name").is("Stark"))) .getFieldsObject()), Hero.class); //THEN assertThat(hero).isNotNull(); assertThat(hero.getFirstName()).isEqualTo("Eddard"); }
From source file:org.springframework.data.mongodb.repository.query.StringBasedMongoQuery.java
@Override protected Query createQuery(ConvertingParameterAccessor accessor) { String queryString = replacePlaceholders(query, accessor); Query query = null;/*from w ww.java2s . c o m*/ if (fieldSpec != null) { String fieldString = replacePlaceholders(fieldSpec, accessor); query = new BasicQuery(queryString, fieldString); } else { query = new BasicQuery(queryString); } QueryUtils.applySorting(query, accessor.getSort()); if (LOG.isDebugEnabled()) { LOG.debug(String.format("Created query %s", query.getQueryObject())); } return query; }