Добавьте количество записей в CosmosDB к уже существующему запросу SQL, который возвращает существующий набор результатов в одном запросе - PullRequest
0 голосов
/ 13 июля 2020

Можно ли добавить счетчик как свойство к результатам, возвращаемым существующим запросом SQL? или это единственный способ получить счет отдельно?

Запрос:

select * from c where 1=1 ORDER BY c.packageId OFFSET 0 LIMIT 10

(Запрос состоит из двух разных строк, поэтому 1 = 1)

Результаты:

[
    [
        {
            "a": [
                {
                    "ab": ""
                }
            ],
            "b": "a",
            "c": 0,
            "d": "0"
        },
        {
            "a": [
                {
                    "ab": ""
                }
            ],
            "b": "a",
            "c": 0,
            "d": "0"
        }
    ],
    null
]

Я бы хотел, чтобы счетчик всех записей возвращался как свойство в результатах JSON, точно так же, как у вас есть токен продолжения. Это API, поэтому я хотел бы включить эту информацию как часть результатов вместо того, чтобы создавать другой API, который получает только счет.

1 Ответ

0 голосов
/ 14 июля 2020

Это сложно сделать, используя sql.

В качестве обходного пути вы можете сделать это, используя . Net SDK . Вот код:

    string sqlQueryText = "select * from c where 1=1 ORDER BY c.packageId OFFSET 0 LIMIT 10";
            
    QueryDefinition queryDefinition = new QueryDefinition(sqlQueryText);
    FeedIterator<Employee> feedIterator = this.container.GetItemQueryIterator<Employee>(queryDefinition);
    FeedResponse<Employee> response = await feedIterator.ReadNextAsync();
    Console.WriteLine("ContinuationToken:" + response.ContinuationToken);
    Console.WriteLine("Count:" + response.Count);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...