Я пытаюсь создать общую войну для грубых операций Azure CosMos DB.Идея состоит в том, чтобы создать общую войну без каких-либо модельных объектов, которые бы просто получали входные данные json, имеющие идентификатор коллекции, параметры запроса.Мы построим запрос на основе параметров запроса, полученных во входных данных JSON, и запустим запрос для документов в коллекции.Так что, если и когда будут какие-либо изменения в каких-либо объектах модели, нам не нужно каждый раз менять эту войну.
Итак, я создал пример, но не смог выполнить запросы на выборку.Итак, возможно ли построить такой проект с помощью cosmosdb и, если да, какую-либо помощь в том, как выполнять SQL-запросы, с группированием, заказами по пунктам.
Я проверил на сайтах Microsoft, нашел много ссылок, но там ониделают объекты модели, такие как AndersonFamily, wakeFamily и используют их.В моем случае я не хочу, чтобы в войне были какие-либо модельные объекты, я хочу, чтобы они были общими, чтобы война не менялась при каждом изменении модельных объектов.
Пример кода:
try {
DocumentClient documentClient = AzureCosmosDBFactory.getDocumentClient();
DocumentCollection documentCollection = AzureCosmosDBClient.getDocumentCollection();
List documents = AzureCosmosDBFactory.getDocumentClient().queryDocuments(AzureCosmosDBClient.getDocumentCollection().getSelfLink(), "select c.data.companyid from c", null).getQueryIterable().toList();
if (documents.size() > 0) {
return new ResponseEntity(documents, HttpStatus.OK);
} else {
return new ResponseEntity(PropertyConstants.DATA_NOT_FOUND, HttpStatus.NOT_FOUND);
}
}catch(Throwable t){
t.printStackTrace();
return new ResponseEntity(PropertyConstants.INTERNAL_SERVER_ERROR+ t.getCause() , HttpStatus.INTERNAL_SERVER_ERROR);
}
Теперь, когда я выбираю * из c, я получаю правильный ответ.Но когда я выбираю c.data.companyid из c, я не получаю правильные данные.