问题标签 [azure-cosmosdb-mongoapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
386 浏览

mongodb - CosmosDB 的 Mongo 聚合管道是否支持 `maxTimeMS`?

TL;DR:Cosmos 似乎忽略了这个maxTimeMS选项。

我正在使用 MongoDB API 处理一个相当大的分区 CosmosDB 集合(几百万个文档),并发现一些聚合在大约 10 秒后超时。我可以用非常小的窗口(即非常具体的匹配标准)进行很好的查询,但是如果我匹配 50k+ 个文档,则查询超时。如果相关,我将使用 Cosmos 添加的默认索引。

我试过maxTimeMs在我的 Mongo 客户端上通过 (30s) 并设置各种其他超时选项,但无济于事。

作为参考,我使用的是 C# Mongo 驱动程序,命令如下:

0 投票
1 回答
660 浏览

azure - 无法从代码和 RoboMongo IDE 连接到 cosmos 文档数据库

我正在尝试连接到 cosmos db,但出现超时错误。

System.TimeoutException: '使用 CompositeServerSelector { Selectors = MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } } 选择服务器 30000 毫秒后发生超时。集群状态的客户端视图是 { ClusterId : '1', ConnectionMode : 'ReplicaSet', Type : 'ReplicaSet', State : 'Disconnected', Servers : [{ ServerId: '{ ClusterId : 1, EndPoint : 'Unspecified/testgp.文档.azure.com:10255'}',端点:'未指定/testgp.documents.azure.com:10255',状态:'断开连接',类型:'未知'}] }。

代码:

RoboMongo 错误: 在此处输入图像描述

0 投票
0 回答
1189 浏览

azure - 尝试从 azure VM 连接到 cosmosDB 时连接超时

我已经在 azure 上设置了一个 Linux VM,我在其上运行了一个 nodeJS 服务器。我还用 mongodb 建立了一个 cosmosDB。我可以使用 nodejs 和 mongo-client 从本地计算机连接到 cosmosdb,但是当我尝试从 linux VM 使用 nodjs 连接到 cosmosdb 时,我得到连接超时。

我假设这与防火墙、vnet 或 nsg 有关,但我是 azure 新手,所以我不知道如何修复它。

我尝试在 nsg 中添加一个异常以允许 10255 端口上的传出连接,但这没有效果。我也尝试将 cosmosdb 添加到 vnet,但这也没有效果。

编辑:我已经创建了一个只有这个代码的应用程序的节点应用程序:

它在我的本地计算机上运行良好,但无法从 azure VM 连接。代码没有什么不同

0 投票
3 回答
1126 浏览

powershell - 如何通过 Powershell 启用 Azure Cosmos DB 预览功能(聚合管道和 Mongodbv3.4)?

我想通过 AzureRM Powershell 以编程方式启用聚合管道和 MongoDBv3.4 预览功能。

在此处输入图像描述

到目前为止,我已经尝试通过 Azure ARM 模板和Set-AzureRmResource命令来做到这一点,但没有成功。

Set-AzureRmResource

通过没有运气的arm模板:

我们通过Powershell加载上面的arm模板。已创建 cosmos db,但未启用预览功能:

0 投票
1 回答
510 浏览

node.js - cosmosdb emulator mongo connection string Error: Slash in host identifier

I am trying to connect my NodeJs application with the CosmosDb emulator in localhost:

enter image description here

Since in my azure resouce group I am created a cosmodb instance of kind MongoDB

enter image description here

I am using the following connection string to test it in localhost:

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

unfortunatelly seems that the connection string provided doesn't fit very well...

enter image description here

What I am doing wrong?

0 投票
1 回答
199 浏览

java - CosmosDB 记录 appName (mongo API)

我正在使用 java MongoAPI 连接到 Azure CosmosDB 另外我想知道用户是否正在使用我的应用程序连接到我的实例。我添加了 appName 参数作为连接选项:

但我找不到这些信息在 Azure 端的存储位置。在哪里可以查看此日志和客户端应用程序名称?

0 投票
1 回答
203 浏览

azure-cosmosdb - CosmosDB $elemMatch 语法错误

对于 CosmosDB 的 MongoDB API 中的某些命令,我​​收到一个奇怪的语法错误。假设我有一个名为“Collection”的集合,其中包含两个文档:

如果我尝试运行查询

我得到结果

但是该命令在我本地托管的 MongoDB 实例上运行良好,返回了预期的结果:

无论如何,这肯定不是语法错误,但没有任何有用的错误信息。如果 CosmosDB 尚不支持这一点,有没有办法只获取存储在数组中的某些嵌入式文档?

如果我尝试使用聚合管道仅提取数组中的文档(我意识到这应该给出与上面的命令不同的结果,但它也适用于我的目的),如下所示:

我得到结果

所以这对我也不起作用。

0 投票
1 回答
318 浏览

mongodb - MongoExecutionTimeoutException/MongoDb C# linq API

针对 MongoDb 服务器使用C# linq API,我需要增加超时以避免出现MongoExecutionTimeoutException异常。但是,我无法在查询级别和客户端级别找到超时属性。

试过这个:

0 投票
2 回答
380 浏览

azure - 如何在 mongodbapi 中不指定分片键的情况下执行查询,以及如何跨分区查询?

如何在不指定分片键的情况下执行查询mongodb api以及如何跨分区查询?

在 sql api 中,后者是通过在请求上设置为启用的,EnableCrossPartitionQuerytrue我无法为mongodb api. 我在unsharded集合上工作的查询现在失败了(指定分片键的查询按预期工作)。

无论我使用AsQueryable扩展语法还是聚合框架,查询都会不加选择地失败。

0 投票
1 回答
599 浏览

mongodb - Invalid JSON number '2L'. shard key being serialized to number but defined as string?

Exception:

Shard key definition, which is a composite key created by the constructor;

Query code:

Why does this fail?