当前位置: 首页 > 知识库问答 >
问题:

不支持Azure Cosmos DB查询

费和惬
2023-03-14

我已经检查了我正在使用所有最新的NuGet库版本。有人能给我提示一下还有什么要查吗?这是代码:

public static class Example
{
    [FunctionName("example")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = "example")] HttpRequest req,
        [CosmosDB(
            databaseName: "a",
            collectionName: "b",
            ConnectionStringSetting = "CosmosDBConnection")]
            DocumentClient client,
            ILogger log)
        {
            log.LogInformation($"GetRockLocationsSpatial for coordinates");
            Uri collectionUri = UriFactory.CreateDocumentCollectionUri("a", "b");
            Polygon rectangularArea = new Polygon(
                new[]
                {
                    new LinearRing(new [] {
                        new Position(100, 50),
                        new Position(130, 50),
                        new Position(130, 40),
                        new Position(100, 40),
                        new Position(100, 50)
                    })
                });
            var rocks =client.CreateDocumentQuery<RockLocationDocument>(collectionUri).Where(a => a.location.Within(rectangularArea)).AsEnumerable();

            foreach (RockLocationDocument rock in rocks)
            {
                Console.WriteLine("\t" + rock);
            }

            return new OkObjectResult(JsonConvert.SerializeObject(rocks));
        }
    }
}

共有1个答案

方昊阳
2023-03-14

我不知道是什么导致了你的错误。但我可以用你的代码得到结果。你可以跟着这个试一试。

RockLocationDocument.cs

using Microsoft.Azure.Documents.Spatial;

namespace example
{
    public class RockLocationDocument
    {

        public string id { get; set; }

        public Point location { get; set; }
    }
}

Founction.cs

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Microsoft.Azure.Documents.Client;
using Microsoft.Azure.Documents.Spatial;
using System.Linq;

namespace example
{
    public static class Example
{
    [FunctionName("example")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = "example")] HttpRequest req,
        [CosmosDB(
            databaseName: "Test",
            collectionName: "site",
            ConnectionStringSetting = "sogo_DOCUMENTDB")]
            DocumentClient client,
            ILogger log)
        {
            log.LogInformation($"GetRockLocationsSpatial for coordinates");
            Uri collectionUri = UriFactory.CreateDocumentCollectionUri("Test", "site");
            Polygon rectangularArea = new Polygon(
                new[]
                {
                    new LinearRing(new [] {
                        new Position(100, 50),
                        new Position(130, 50),
                        new Position(130, 40),
                        new Position(100, 40),
                        new Position(100, 50)
                    })
                });

            var rocks =client.CreateDocumentQuery<RockLocationDocument>(collectionUri,new FeedOptions { EnableCrossPartitionQuery = true }).Where(a => a.location.Within(rectangularArea)).AsEnumerable();

            foreach (RockLocationDocument rock in rocks)
            {
                Console.WriteLine("\t" + JsonConvert.SerializeObject(rock));
            }

            return new OkObjectResult(JsonConvert.SerializeObject(rocks));
        }
    }
}
 类似资料:
  • 在ElasticSearch7.x中,我使用一个具有同义词过滤器的分析器对数据字段进行了索引。但是,为了支持增强“完全”匹配数据字段中的查询词的查询,而不是匹配数据中的同义词的查询,我将使用。 为此,对于我想要精确匹配的查询,我想提供一个在其中没有同义词过滤器的分析器。这可以通过来完成。但是,我的主要查询是查询,用于在所有需要的字段上搜索这些术语(并且具有不同的重要性(boosting))。 似乎

  • 我是弹性出版社的新手,在Wordpress多网络站点上遇到了一些问题,在尝试执行WP-Query时遇到了这个异常: 由:SearchParseException[未能解析搜索源[{“from”:0,“size”:3,“sort”:[{“_score”:{“order”:“desc”}}],“query”:{“bool”:{“shoul”:[{“multi_match”:{“query”:“test

  • 问题内容: 我写了一个查询来删除我的扩展接口中的某些对象,但是当我执行查询时,它会抛出异常!谁能为我解释一下? 查询: 我收到了此错误,请问,请为我解释一下,谢谢大家:) 例外: 问题答案: 尝试这个: 每当您尝试修改db中的记录时,都必须将其标记为@Transactional和@Modifying,这将指示Spring可以修改现有记录。 存储库方法必须为空,否则将不断抛出异常。

  • 我正在从aws Dynamodb中的数据库中查询数据,并在Key条件表达式上遇到错误消息。 我在查询“支配性时间性”和“dt”。这些组成了我的复合分区键-dt对于每一行和我的排序键都是唯一的。 我正在运行的代码:

  • 我已经编写了一个查询来删除扩展接口中的一些对象,但是当我执行查询时,它会抛出一个异常!谁能给我解释一下吗? 查询: 我犯了这个错误,请任何人帮我解释一下,谢谢大家:) 例外情况:

  • 这里是我的问题:我从amazon dynamodb api中读到,for query中的条件意味着检查列表*中的匹配元素,但为什么它返回错误:*查询键条件不受支持? aws dynamodb查询--表名Music--关键条件{“艺术家”:{“AttributeValueList”:[{“S”:“Wangdong”}、{“S”:“Acme Band”}]、“ComparisonOperator”:“