【问题标题】:Node js parameterized query for DocumentDBDocumentDB的节点js参数化查询
【发布时间】:2018-05-06 00:10:56
【问题描述】:

谁能告诉我在 Node.js 中参数化 DocumentDB 查询需要哪个节点模块?

我的查询结构与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")
                    }
        });

【问题讨论】:

    标签: javascript node.js azure azure-cosmosdb document-database


    【解决方案1】:

    在带有 SDK azure-documentdb-node 的 Node.js 中试试这个:

    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);
    });
    

    【讨论】:

    • 我在尝试这样做时收到“错误请求”。
    • 这是我的错,但这是上面示例中使用的选择的结果。无论您的属性名称是什么,您都希望添加像这样的参数“名称:'@color',值:'red'”,例如。键应始终为“名称”。
    猜你喜欢
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 2016-05-24
    • 1970-01-01
    • 2018-08-02
    相关资源
    最近更新 更多