Параметризованный запрос Node js для DocumentDB

Может ли кто-нибудь сказать мне, какой модуль узла мне нужен для параметризации запросов для DocumentDB в Node.js?

Я структурировал запрос, очень похожий на этот Microsoft < /а> пример. Я использую модуль documentdb, но SqlQuerySpec и SqlParametersCollection не распознаются.

IQueryable<Book> queryable = client.CreateDocumentQuery<Book>(
                collectionSelfLink,
                new SqlQuerySpec
        {
                    QueryText = "SELECT * FROM books b WHERE (b.Author.Name = @name)", 
                    Parameters = new SqlParameterCollection() 
            { 
                          new SqlParameter("@name", "Herman Melville")
                    }
        });

person DarkW1nter    schedule 22.11.2017    source источник


Ответы (1)


Попробуйте это в Node.js с пакетом SDK azure-documentdb-node:

var querySpec = {
    'query': 'SELECT * FROM books b WHERE (b.Author.Name = @name)',

    "parameters": [
        { "name": "@name", "value": 'Herman Melville' }
    ]
}

client.queryDocuments(collectionUrl, querySpec).toArray(function(err, results) {
    if(err) return console.log(err);

    console.log(results);
});
person Aaron Chen    schedule 23.11.2017
comment
Я получаю плохой запрос при попытке сделать это таким образом. - person Sam; 27.11.2018
comment
Это было моим недостатком, но это результат выбора, использованного в приведенном выше примере. Независимо от того, как называется ваше свойство, вы хотите добавить такой параметр, как это имя: '@color', значение: 'red', например. Ключ всегда должен быть именем. - person Sam; 27.11.2018