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

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

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

Query.getQueryObject介绍

暂无

代码示例

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

@Override
public BulkOperations remove(Query query) {
  Assert.notNull(query, "Query must not be null!");
  DeleteOptions deleteOptions = new DeleteOptions();
  query.getCollation().map(Collation::toMongoCollation).ifPresent(deleteOptions::collation);
  models.add(new DeleteManyModel<>(query.getQueryObject(), deleteOptions));
  return this;
}

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

@Override
public <T> List<T> find(Query query, Class<T> entityClass, String collectionName) {
  Assert.notNull(query, "Query must not be null!");
  Assert.notNull(collectionName, "CollectionName must not be null!");
  Assert.notNull(entityClass, "EntityClass must not be null!");
  return doFind(collectionName, query.getQueryObject(), query.getFieldsObject(), entityClass,
      new QueryCursorPreparer(query, entityClass));
}

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

public long count(Query query, @Nullable Class<?> entityClass, String collectionName) {
  Assert.notNull(query, "Query must not be null!");
  Assert.hasText(collectionName, "Collection name must not be null or empty!");
  CountOptions options = new CountOptions();
  query.getCollation().map(Collation::toMongoCollation).ifPresent(options::collation);
  Document document = queryMapper.getMappedObject(query.getQueryObject(),
      Optional.ofNullable(entityClass).map(it -> mappingContext.getPersistentEntity(entityClass)));
  return doCount(collectionName, document, options);
}

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

@Nullable
@Override
public <T> T findAndRemove(Query query, Class<T> entityClass, String collectionName) {
  Assert.notNull(query, "Query must not be null!");
  Assert.notNull(entityClass, "EntityClass must not be null!");
  Assert.notNull(collectionName, "CollectionName must not be null!");
  return doFindAndRemove(collectionName, query.getQueryObject(), query.getFieldsObject(),
      getMappedSortObject(query, entityClass), query.getCollation().orElse(null), entityClass);
}

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

private Flux<T> doFind(@Nullable FindPublisherPreparer preparer) {
  Document queryObject = query.getQueryObject();
  Document fieldsObject = query.getFieldsObject();
  return template.doFind(getCollectionName(), queryObject, fieldsObject, domainType, returnType,
      preparer != null ? preparer : getCursorPreparer(query));
}

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

public <T> Flux<T> find(@Nullable Query query, Class<T> entityClass, String collectionName) {
  if (query == null) {
    return findAll(entityClass, collectionName);
  }
  return doFind(collectionName, query.getQueryObject(), query.getFieldsObject(), entityClass,
      new QueryFindPublisherPreparer(query, entityClass));
}

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

private List<T> doFind(@Nullable CursorPreparer preparer) {
  Document queryObject = query.getQueryObject();
  Document fieldsObject = query.getFieldsObject();
  return template.doFind(getCollectionName(), queryObject, fieldsObject, domainType, returnType,
      getCursorPreparer(query, preparer));
}

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

@Override
public <T> Flux<T> tail(@Nullable Query query, Class<T> entityClass, String collectionName) {
  if (query == null) {
    // TODO: clean up
    LOGGER.debug(String.format("find for class: %s in collection: %s", entityClass, collectionName));
    return executeFindMultiInternal(
        collection -> new FindCallback(null).doInCollection(collection).cursorType(CursorType.TailableAwait), null,
        new ReadDocumentCallback<>(mongoConverter, entityClass, collectionName), collectionName);
  }
  return doFind(collectionName, query.getQueryObject(), query.getFieldsObject(), entityClass,
      new TailingQueryFindPublisherPreparer(query, entityClass));
}

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

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

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

public <T> Mono<T> findAndModify(Query query, Update update, FindAndModifyOptions options, Class<T> entityClass,
    String collectionName) {
  FindAndModifyOptions optionsToUse = FindAndModifyOptions.of(options);
  Optionals.ifAllPresent(query.getCollation(), optionsToUse.getCollation(), (l, r) -> {
    throw new IllegalArgumentException(
        "Both Query and FindAndModifyOptions define a collation. Please provide the collation only via one of the two.");
  });
  query.getCollation().ifPresent(optionsToUse::collation);
  return doFindAndModify(collectionName, query.getQueryObject(), query.getFieldsObject(),
      getMappedSortObject(query, entityClass), entityClass, update, optionsToUse);
}

代码示例来源:origin: kaaproject/kaa

@Override
public List<MongoEndpointNotification> findNotificationsByKeyHash(final byte[] keyHash) {
 LOG.debug("Find unicast notifications by endpoint key hash [{}] ", keyHash);
 DBObject dbObject = query(where(EP_ENDPOINT_KEY_HASH).is(keyHash)).getQueryObject();
 DBCursor cursor = mongoTemplate.getDb().getCollection(getCollectionName()).find(dbObject);
 List<MongoEndpointNotification> endpointNotifications = new ArrayList<>();
 while (cursor.hasNext()) {
  endpointNotifications.add(mongoTemplate.getConverter()
    .read(MongoEndpointNotification.class, cursor.next()));
 }
 return endpointNotifications;
}

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

@Override
protected Query createQuery(ConvertingParameterAccessor accessor) {
  String queryString = parameterBinder.bind(this.query, accessor,
      new BindingContext(getQueryMethod().getParameters(), queryParameterBindings));
  String fieldsString = parameterBinder.bind(this.fieldSpec, accessor,
      new BindingContext(getQueryMethod().getParameters(), fieldSpecParameterBindings));
  Query query = new BasicQuery(queryString, fieldsString).with(accessor.getSort());
  if (LOG.isDebugEnabled()) {
    LOG.debug(String.format("Created query %s for %s fields.", query.getQueryObject(), query.getFieldsObject()));
  }
  return query;
}

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

protected GridFSFindPublisher prepareQuery(Query query) {
  Assert.notNull(query, "Query must not be null!");
  Document queryObject = getMappedQuery(query.getQueryObject());
  Document sortObject = getMappedQuery(query.getSortObject());
  GridFSFindPublisher publisherToUse = getGridFs().find(queryObject).sort(sortObject);
  Integer cursorBatchSize = query.getMeta().getCursorBatchSize();
  if (cursorBatchSize != null) {
    publisherToUse = publisherToUse.batchSize(cursorBatchSize);
  }
  return publisherToUse;
}

代码示例来源:origin: kaaproject/kaa

@Override
public MongoEndpointProfile findByKeyHash(byte[] endpointKeyHash) {
 LOG.debug("Find endpoint profile by endpoint key hash [{}] ", endpointKeyHash);
 DBObject dbObject = query(where(EP_ENDPOINT_KEY_HASH)
   .is(endpointKeyHash))
   .getQueryObject();
 DBObject result = mongoTemplate.getDb()
   .getCollection(getCollectionName())
   .findOne(dbObject);
 return mongoTemplate.getConverter().read(getDocumentClass(), result);
}

代码示例来源:origin: kaaproject/kaa

@Override
public MongoTopicListEntry findByHash(byte[] hash) {
 LOG.debug("Find topic list entry by hash [{}] ", hash);
 DBObject dbObject = query(where(ID).is(hash)).getQueryObject();
 DBObject result = mongoTemplate.getDb()
   .getCollection(getCollectionName())
   .findOne(dbObject);
 return mongoTemplate.getConverter().read(getDocumentClass(), result);
}

代码示例来源:origin: kaaproject/kaa

@Override
public MongoEndpointConfiguration findByHash(final byte[] hash) {
 LOG.debug("Find endpoint configuration by hash [{}] ", hash);
 DBObject dbObject = query(where(ID).is(hash)).getQueryObject();
 DBObject result = mongoTemplate.getDb()
   .getCollection(getCollectionName())
   .findOne(dbObject);
 return mongoTemplate.getConverter().read(getDocumentClass(), result);
}

代码示例来源:origin: kaaproject/kaa

@Override
public MongoEndpointProfile findByAccessToken(String endpointAccessToken) {
 LOG.debug("Find endpoint profile by access token [{}] ", endpointAccessToken);
 DBObject dbObject = query(where(EP_ACCESS_TOKEN).is(endpointAccessToken))
   .getQueryObject();
 DBObject result = mongoTemplate.getDb()
   .getCollection(getCollectionName())
   .findOne(dbObject);
 return mongoTemplate.getConverter().read(getDocumentClass(), result);
}

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

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

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

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

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

@Override
  public CloseableIterator<T> doInCollection(MongoCollection<Document> collection)
      throws MongoException, DataAccessException {
    MongoPersistentEntity<?> persistentEntity = mappingContext.getRequiredPersistentEntity(entityType);
    Document mappedFields = getMappedFieldsObject(query.getFieldsObject(), persistentEntity, returnType);
    Document mappedQuery = queryMapper.getMappedObject(query.getQueryObject(), persistentEntity);
    FindIterable<Document> cursor = new QueryCursorPreparer(query, entityType)
        .prepare(collection.find(mappedQuery, Document.class).projection(mappedFields));
    return new CloseableIterableCursorAdapter<>(cursor, exceptionTranslator,
        new ProjectingReadCallback<>(mongoConverter, entityType, returnType, collectionName));
  }
});

相关文章