Azure Cosmos DB存储过程不起作用

时间:2019-09-12 16:30:08

标签: azure azure-cosmosdb

试图获取基于GPSPointType id的值,它不起作用

    var filterQuery =
    {
        'query': 'select top 1 c2.PremiseType from c c2 where c2.GPSPointType=@id',
        'parameters': [{ 'name': '@id', 'value': 2 }]

    };

    //var filterQuery = 'SELECT * FROM p where p.GPSPointType=2';
    var accepted = collection.queryDocuments(collectionLink, filterQuery, {}, function (err, itemCreated) {
        if (err) console.log(err.message);
        //if (itemCreated.length > 0) {
        getContext().getResponse().setBody(JSON.stringify(itemCreated)); return true;
        //return itemCreated[0].PremiseType;
        //}
    });

1 个答案:

答案 0 :(得分:0)

我从一边测试了您的代码,它对我有用。请参阅我的详细信息:

我的样本数据:

enter image description here

sp代码:

function sample(prefix) {
    var collection = getContext().getCollection();
    var filterQuery =
    {
        'query': 'select top 1 c2.PremiseType from c c2 where c2.GPSPointType=@id',
        'parameters': [{ 'name': '@id', 'value': 2 }]

    };
    //var filterQuery = 'SELECT * FROM p where p.GPSPointType=2';
    var accepted = collection.queryDocuments(collection.getSelfLink(), filterQuery, {}, function (err, itemCreated) {
        if (err) console.log(err.message);
        //if (itemCreated.length > 0) {
        getContext().getResponse().setBody(JSON.stringify(itemCreated)); return true;
        //return itemCreated[0].PremiseType;
        //}
    });
}

输出:

enter image description here

此外,您可以参考此线程中的一些线索:Passing parameter to CosmosDB stored procedure

相关问题