Написание грубых операций для базы данных Azure COSMOS - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь создать общую войну для грубых операций 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, я не получаю правильные данные.

...