c# - 带有 MongoDB API 的 CosmosDB

标签 c# azure azure-cosmosdb mongodb-.net-driver

嗨,我是 MongoDB 和 CosmosDB 的新手,我尝试在 C# 中实现这一点

MongoClientSettings settings = MongoClientSettings.FromUrl(
                      new MongoUrl(connectionString)
                    );
                    settings.SslSettings =
                      new SslSettings() { EnabledSslProtocols = SslProtocols.Tls12 };    
    var mongoClient = new MongoClient(settings);
    var mongoDatabase = mongoClient.GetDatabase("MYDATABASE");
    var mongoCollection = mongoDatabase.GetCollection<BsonDocument>("MYCOLLECTION");

    var builder = Builders<BsonDocument>.Filter;            
    var filter = builder.Lt("mac", "001BC50670101BB8") & builder.Gte("date", "2016-09-18T00:00:00Z") & builder.Gte("date", "2017-09-22T00:00:00Z");

    var query = mongoCollection.Find<BsonDocument>(filter).ToList<BsonDocument>();

但是当它在服务器上运行查询时,我收到此错误:

Errors":["An invalid query has been specified with filters against path(s) that are not range-indexed. Consider adding allow scan header in the request."

我发现我应该将“x-ms-documentdb-query-enable-scan” header 添加到我的请求中。但我怎样才能做到这一点呢?

最佳答案

评论部分找到的解决方案:

查询更改自

builder.Lt("mac", "001BC50670101BB8")

builder.Eq("mac", "001BC50670101BB8")

关于c# - 带有 MongoDB API 的 CosmosDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46338553/

相关文章:

c# - ASP.NET 成员资格/自动登录现有用户

c# - Silverlight 处理多个按键组合

azure - 在 Azure 搜索中重新索引后分页

azure - 如何读取不同区域的 2 个 Azure 服务总线并将其视​​为一个

asp.net-core - Cosmos DB "Partial Update"/补丁,无法将新属性值设置为 null

node.js - `endsWith` 和 `startsWith` 用于 Azure 表存储

azure - CosmosDB 分区键/唯一键混淆

c# - 无需 WinAPI 从文件、文件夹或驱动器获取关联图标

c# - XNA:从 Matrix 获取 Vector3

node.js - 如何从 Node js将数据发送到azure事件网格中的主题端点