首页 > 解决方案 > Azure cosmos db 存储过程不起作用

问题描述

试图根据 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;
        //}
    });

标签: azureazure-cosmosdb

解决方案


我在我这边测试了你的代码,它对我有用。请参考我的详细信息:

我的样本数据:

在此处输入图像描述

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

输出:

在此处输入图像描述

此外,您可以参考该线程中的一些线索:将参数传递给 CosmosDB 存储过程


推荐阅读