org.springframework.data.mongodb.core.query.Query.getSortObject()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(12.9k)|赞(0)|评价(0)|浏览(281)

本文整理了Java中org.springframework.data.mongodb.core.query.Query.getSortObject方法的一些代码示例,展示了Query.getSortObject的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.getSortObject方法的具体详情如下:
包路径:org.springframework.data.mongodb.core.query.Query
类名称:Query
方法名:getSortObject

Query.getSortObject介绍

暂无

代码示例

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. private Document getMappedSortObject(Query query, Class<?> type) {
  2. if (query == null || ObjectUtils.isEmpty(query.getSortObject())) {
  3. return null;
  4. }
  5. return queryMapper.getMappedSort(query.getSortObject(), mappingContext.getPersistentEntity(type));
  6. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. @Override
  2. public Document getSortObject() {
  3. Document result = new Document();
  4. result.putAll(sortObject);
  5. Document overrides = super.getSortObject();
  6. result.putAll(overrides);
  7. return result;
  8. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. private Document getMappedSortObject(Query query, Class<?> type) {
  2. if (query == null) {
  3. return null;
  4. }
  5. return queryMapper.getMappedSort(query.getSortObject(), mappingContext.getPersistentEntity(type));
  6. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. @Nullable
  2. @Override
  3. public <T> T findOne(Query query, Class<T> entityClass, String collectionName) {
  4. Assert.notNull(query, "Query must not be null!");
  5. Assert.notNull(entityClass, "EntityClass must not be null!");
  6. Assert.notNull(collectionName, "CollectionName must not be null!");
  7. if (ObjectUtils.isEmpty(query.getSortObject()) && !query.getCollation().isPresent()) {
  8. return doFindOne(collectionName, query.getQueryObject(), query.getFieldsObject(), entityClass);
  9. } else {
  10. query.limit(1);
  11. List<T> results = find(query, entityClass, collectionName);
  12. return results.isEmpty() ? null : results.get(0);
  13. }
  14. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. @Override
  2. public Document getSortObject() {
  3. Document sort = new Document();
  4. if (this.sortByScore) {
  5. sort.put(getScoreFieldName(), META_TEXT_SCORE);
  6. }
  7. sort.putAll(super.getSortObject());
  8. return sort;
  9. }
  10. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. @Override
  2. public String toString() {
  3. return String.format("Query: %s, Fields: %s, Sort: %s", serializeToJsonSafely(getQueryObject()),
  4. serializeToJsonSafely(getFieldsObject()), serializeToJsonSafely(getSortObject()));
  5. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. public <T> Mono<T> findOne(Query query, Class<T> entityClass, String collectionName) {
  2. if (ObjectUtils.isEmpty(query.getSortObject())) {
  3. return doFindOne(collectionName, query.getQueryObject(), query.getFieldsObject(), entityClass,
  4. query.getCollation().orElse(null));
  5. }
  6. query.limit(1);
  7. return find(query, entityClass, collectionName).next();
  8. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. @Override
  2. public <S, T> Mono<T> findAndReplace(Query query, S replacement, FindAndReplaceOptions options, Class<S> entityType,
  3. String collectionName, Class<T> resultType) {
  4. Assert.notNull(query, "Query must not be null!");
  5. Assert.notNull(replacement, "Replacement must not be null!");
  6. Assert.notNull(options, "Options must not be null! Use FindAndReplaceOptions#empty() instead.");
  7. Assert.notNull(entityType, "Entity class must not be null!");
  8. Assert.notNull(collectionName, "CollectionName must not be null!");
  9. Assert.notNull(resultType, "ResultType must not be null! Use Object.class instead.");
  10. Assert.isTrue(query.getLimit() <= 1, "Query must not define a limit other than 1 ore none!");
  11. Assert.isTrue(query.getSkip() <= 0, "Query must not define skip.");
  12. MongoPersistentEntity<?> entity = mappingContext.getPersistentEntity(entityType);
  13. Document mappedQuery = queryMapper.getMappedObject(query.getQueryObject(), entity);
  14. Document mappedFields = queryMapper.getMappedFields(query.getFieldsObject(), entity);
  15. Document mappedSort = queryMapper.getMappedSort(query.getSortObject(), entity);
  16. Document mappedReplacement = operations.forEntity(replacement).toMappedDocument(this.mongoConverter).getDocument();
  17. return doFindAndReplace(collectionName, mappedQuery, mappedFields, mappedSort,
  18. query.getCollation().map(Collation::toMongoCollation).orElse(null), entityType, mappedReplacement, options,
  19. resultType);
  20. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. @Override
  2. public <S, T> T findAndReplace(Query query, S replacement, FindAndReplaceOptions options, Class<S> entityType,
  3. String collectionName, Class<T> resultType) {
  4. Assert.notNull(query, "Query must not be null!");
  5. Assert.notNull(replacement, "Replacement must not be null!");
  6. Assert.notNull(options, "Options must not be null! Use FindAndReplaceOptions#empty() instead.");
  7. Assert.notNull(entityType, "EntityType must not be null!");
  8. Assert.notNull(collectionName, "CollectionName must not be null!");
  9. Assert.notNull(resultType, "ResultType must not be null! Use Object.class instead.");
  10. Assert.isTrue(query.getLimit() <= 1, "Query must not define a limit other than 1 ore none!");
  11. Assert.isTrue(query.getSkip() <= 0, "Query must not define skip.");
  12. MongoPersistentEntity<?> entity = mappingContext.getPersistentEntity(entityType);
  13. Document mappedQuery = queryMapper.getMappedObject(query.getQueryObject(), entity);
  14. Document mappedFields = queryMapper.getMappedFields(query.getFieldsObject(), entity);
  15. Document mappedSort = queryMapper.getMappedSort(query.getSortObject(), entity);
  16. Document mappedReplacement = operations.forEntity(replacement).toMappedDocument(this.mongoConverter).getDocument();
  17. return doFindAndReplace(collectionName, mappedQuery, mappedFields, mappedSort,
  18. query.getCollation().map(Collation::toMongoCollation).orElse(null), entityType, mappedReplacement, options,
  19. resultType);
  20. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. public GridFSFindIterable find(Query query) {
  2. Assert.notNull(query, "Query must not be null!");
  3. Document queryObject = getMappedQuery(query.getQueryObject());
  4. Document sortObject = getMappedQuery(query.getSortObject());
  5. return getGridFs().find(queryObject).sort(sortObject);
  6. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. protected GridFSFindPublisher prepareQuery(Query query) {
  2. Assert.notNull(query, "Query must not be null!");
  3. Document queryObject = getMappedQuery(query.getQueryObject());
  4. Document sortObject = getMappedQuery(query.getSortObject());
  5. GridFSFindPublisher publisherToUse = getGridFs().find(queryObject).sort(sortObject);
  6. Integer cursorBatchSize = query.getMeta().getCursorBatchSize();
  7. if (cursorBatchSize != null) {
  8. publisherToUse = publisherToUse.batchSize(cursorBatchSize);
  9. }
  10. return publisherToUse;
  11. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testBasicQueryFirstPage() {
  3. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  4. when(template.find(queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  5. assertFalse(reader.doPageRead().hasNext());
  6. Query query = queryContainer.getValue();
  7. assertEquals(50, query.getLimit());
  8. assertEquals(0, query.getSkip());
  9. assertEquals("{ }", query.getQueryObject().toJson());
  10. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  11. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testCollection() throws Exception {
  3. MongoItemReader<String> reader = getBasicBuilder()
  4. .parameterValues(Collections.singletonList("foo"))
  5. .jsonQuery("{ name : ?0 }")
  6. .collection("collection")
  7. .build();
  8. ArgumentCaptor<String> collectionContainer = ArgumentCaptor.forClass(String.class);
  9. when(this.template.find(this.queryContainer.capture(), eq(String.class), collectionContainer.capture()))
  10. .thenReturn(new ArrayList<>());
  11. assertNull("reader should not return result", reader.read());
  12. Query query = this.queryContainer.getValue();
  13. assertEquals("{ \"name\" : \"foo\" }", query.getQueryObject().toJson());
  14. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  15. assertEquals("collection", collectionContainer.getValue());
  16. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testBasicQuerySecondPage() {
  3. reader.page = 2;
  4. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  5. when(template.find(queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  6. assertFalse(reader.doPageRead().hasNext());
  7. Query query = queryContainer.getValue();
  8. assertEquals(50, query.getLimit());
  9. assertEquals(100, query.getSkip());
  10. assertEquals("{ }", query.getQueryObject().toJson());
  11. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  12. assertTrue(query.getFieldsObject().isEmpty());
  13. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testQueryWithHint() {
  3. reader.setHint("{ $natural : 1}");
  4. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  5. when(template.find(queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  6. assertFalse(reader.doPageRead().hasNext());
  7. Query query = queryContainer.getValue();
  8. assertEquals(50, query.getLimit());
  9. assertEquals(0, query.getSkip());
  10. assertEquals("{ }", query.getQueryObject().toJson());
  11. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  12. assertEquals("{ $natural : 1}", query.getHint());
  13. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testVarargs() throws Exception {
  3. MongoItemReader<String> reader = getBasicBuilder()
  4. .parameterValues("foo")
  5. .jsonQuery("{ name : ?0 }")
  6. .collection("collection")
  7. .build();
  8. ArgumentCaptor<String> collectionContainer = ArgumentCaptor.forClass(String.class);
  9. when(this.template.find(this.queryContainer.capture(), eq(String.class), collectionContainer.capture()))
  10. .thenReturn(new ArrayList<>());
  11. assertNull("reader should not return result", reader.read());
  12. Query query = this.queryContainer.getValue();
  13. assertEquals("{ \"name\" : \"foo\" }", query.getQueryObject().toJson());
  14. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  15. assertEquals("collection", collectionContainer.getValue());
  16. }

代码示例来源:origin: spring-projects/spring-batch

  1. @SuppressWarnings("serial")
  2. @Test
  3. public void testQueryWithParameters() {
  4. reader.setParameterValues(new ArrayList<Object>(){{
  5. add("foo");
  6. }});
  7. reader.setQuery("{ name : ?0 }");
  8. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  9. when(template.find(queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  10. assertFalse(reader.doPageRead().hasNext());
  11. Query query = queryContainer.getValue();
  12. assertEquals(50, query.getLimit());
  13. assertEquals(0, query.getSkip());
  14. assertEquals("{ \"name\" : \"foo\" }", query.getQueryObject().toJson());
  15. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  16. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testBasic() throws Exception {
  3. MongoItemReader<String> reader = getBasicBuilder().build();
  4. when(template.find(this.queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  5. assertNull("reader should not return result", reader.read());
  6. Query query = this.queryContainer.getValue();
  7. assertEquals(50, query.getLimit());
  8. assertEquals(0, query.getSkip());
  9. assertEquals("{ }", query.getQueryObject().toJson());
  10. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  11. }

代码示例来源:origin: spring-projects/spring-batch

  1. @SuppressWarnings("serial")
  2. @Test
  3. public void testQueryWithCollection() {
  4. reader.setParameterValues(new ArrayList<Object>(){{
  5. add("foo");
  6. }});
  7. reader.setQuery("{ name : ?0 }");
  8. reader.setCollection("collection");
  9. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  10. ArgumentCaptor<String> collectionContainer = ArgumentCaptor.forClass(String.class);
  11. when(template.find(queryContainer.capture(), eq(String.class), collectionContainer.capture())).thenReturn(new ArrayList<>());
  12. assertFalse(reader.doPageRead().hasNext());
  13. Query query = queryContainer.getValue();
  14. assertEquals(50, query.getLimit());
  15. assertEquals(0, query.getSkip());
  16. assertEquals("{ \"name\" : \"foo\" }", query.getQueryObject().toJson());
  17. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  18. assertEquals("collection", collectionContainer.getValue());
  19. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testQueryWithFields() {
  3. reader.setFields("{name : 1, age : 1, _id: 0}");
  4. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  5. when(template.find(queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  6. assertFalse(reader.doPageRead().hasNext());
  7. Query query = queryContainer.getValue();
  8. assertEquals(50, query.getLimit());
  9. assertEquals(0, query.getSkip());
  10. assertEquals("{ }", query.getQueryObject().toJson());
  11. assertEquals("{ \"name\" : -1 }", query.getSortObject().toJson());
  12. assertEquals(1, query.getFieldsObject().get("name"));
  13. assertEquals(1, query.getFieldsObject().get("age"));
  14. assertEquals(0, query.getFieldsObject().get("_id"));
  15. }

相关文章