вы правы, вы всегда указываете коллекцию, будь то SDK или Query Explorer, так что вы можете просто использовать любой псевдоним в запросе, спасибо!

ибудь знает, как использовать SQL-запрос к коллекции CosmosDB, в имени которой есть дефис? Например

SELECT * FROM product-group where product-group.id = "3829503"

Я видел, что к свойствам можно получить доступ с использованием синтаксиса [""], но я не видел никаких решений для реального имени коллекции.

Ответы на вопрос(1)

Решение Вопроса

вам не нужно указывать точное имя коллекции; вы действительно указываете псевдоним в своем запросе.

В Query Explorer (через портал) все запросы выполняются путем выбора коллекции. На этом этапе используйте простой псевдоним для запроса. Например, вот запрос к коллекции под названиемsample-data (как выбрано в раскрывающемся списке «Коллекции»), но мне не нужно указывать фактическое имя коллекции в запросе. Я просто используюmycollection как псевдоним дляsample-data:

А в коде вызов SDK включает в себя как параметр базы данных, так и параметр коллекции, что снова устраняет необходимость в действительном имени коллекции в запросе. Например, тот же запрос, вызванный из c #, может выглядеть примерно так:

client.CreateDocumentQuery<MyObject>(
            UriFactory.CreateDocumentCollectionUri("mydb", "sample-data"),
            "SELECT * FROM mycollection WHERE mycollection.id = '3829503'");
 David Makogon13 окт. 2017 г., 03:53
@rob - это ответнеобходимый снимок экрана, как я делаю, чтобы проиллюстрировать, как это сделать конкретно на портале, ключевой частью является выпадающий список. А под ним - код без изображения в вызове SDK.
 amsub2413 окт. 2017 г., 19:01
вы правы, вы всегда указываете коллекцию, будь то SDK или Query Explorer, так что вы можете просто использовать любой псевдоним в запросе, спасибо!

Ваш ответ на вопрос