问题标签 [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 投票
1 回答
210 浏览

azure-cosmosdb - mongodump 停止而不转储每条记录

我正在尝试使用mongodump从 Cosmos DB 转储集合。我的命令如下所示:

这运行良好并开始转储记录。但是几分钟后它停止并说“完成转储 someCollection (2700 个文档) ”,但是集合中有数百万个文档,所以我不明白它为什么停止。我能够毫无问题地转储数据库中的其余集合,所以不知道为什么我遇到了这个问题。

有谁知道我如何获得完整转储或提取数据的替代方法?

0 投票
1 回答
1311 浏览

azure-cosmosdb-mongoapi - 如何使用 Cosmos API 消除 MongoDB 聚合查询的 40MB 查询限制

我在 db 中有两个集合,称为表,称为资产负债表和收入,它们需要加入一个名为“_id”的字段

我正在尝试对两个中等大小的集合执行聚合,并且我将限制设置为 1 以便仅获得一个结果。

但是,当我确定一个结果不会达到 40MB 时,我仍然达到了 40MB 的限制”

运行以下代码将使我得到这个错误:

有没有办法解决这个问题的限制?

0 投票
2 回答
4644 浏览

c# - Azure Cosmos MongoDB - 使用分片键创建集合

我需要在 Azure 的 Cosmos MongoDB 中创建一个集合,但需要使用分区/分片键,因为所需的配置是数据库将具有预配置的吞吐量(一组 RU),并且其中的集合将具有共享的吞吐量。

集群的 API 设置为Cosmos DB Mongo API- 如果我在 cosmos 中创建集合,则插入/删除没有问题,但如果我使用下面的代码创建集合,{"Command insert failed: document does not contain shard key."}即使查看在门户中创建的集合,我也会收到错误消息,并且在代码中看起来相同。

我已经与微软代表谈过,但我缺乏“答案”。他建议使用Mongo CSharp Driver,但似乎这个驱动程序无法定义分区键(这是有道理的)。

如何使用分区键创建集合?

谢谢你。

0 投票
0 回答
449 浏览

azure-cosmosdb - 使用 Azure Cosmos DB 时出现奇怪的 RU/s 使用情况(来自 java 的 mongo 接口)

我们正在使用 Azure cosmos DB,我们正在使用 mongo API 从 Java 访问它

一些通常使用大约 4 个 RU 的简单查询有时需要大约 1500 个 RU,我们得到消息“rate is too large”

如果我们从 azure 门户 UI 执行相同的查询,我们总是会得到较低的 RU 消耗

示例文档:

如果我将查询转换为 SQL,将如下所示:

2个重要提示:

  1. 我们在此查询中不使用分片键。我不知道这里是否相关
  2. 请注意,我们检查 c.status.nSent 不存在 (=null) 或者它等于 false。如果我们删除检查 c.status.nSent 是否为空的部分,则查询正常。这是奇怪的部分......

azure 的查询示例在他们的日志中看到:

我也尝试替换这部分查询

希望它也适用于没有此属性但结果相同的文档

我们的平均 RU/s 使用量是 40 RU/s,我们的限制是 4000 RU/s,所以这个查询应该有很多备用 RU/s

在我们得到的例外情况下,我们看到:

0 投票
0 回答
455 浏览

node.js - Azure cosmosdb Mongo Api 身份验证错误

我在连接到 cosmosDb mongoAPi 时遇到了一个奇怪的问题,我已经连接了一个正在正确连接的数据库,但是当我用其他 cosmosdb 数据库更改此代码的凭据时,它会引发身份验证错误

我已经将连接字符串中的“==”更改为“%3D%3D”。我也尝试过使用 encodeURIComponent

给出的错误是 throw err; ^

AssertionError [ERR_ASSERTION]: null == { MongoError: authentication failed

0 投票
2 回答
1325 浏览

azure - 使用 Mongodb 和逻辑应用程序插入文档时出现问题

我的逻辑应用程序从 api rest 收集数据并插入到 cosmosdb mongodb 中。该过程成功发生,但使用数据资源管理器执行查询时出现以下错误:

以下是重现错误的调用示例:

示例输入:

我一直在探索的是与 ObjectId 的创建有关的东西。有谁知道解决方案?

0 投票
0 回答
254 浏览

azure - 无法在存储资源管理器中打开 Cosmos DB 文档

我似乎无法在存储资源管理器中打开 Cosmos DB 文档。

在 Mac 和 Windows 上使用存储资源管理器的最新版本 (1.6.2) 和先前版本 1.5.0 进行了测试。

提示信息

我已经尝试过基于 MongoDB 和 SQL API 的数据库,并且出现了同样的问题。我是否缺少一个非常简单的先决条件?

编辑:

似乎我没有遗漏任何东西,这是由于存储资源管理器内部的一个错误。

ASE 错误

0 投票
1 回答
803 浏览

azure-cosmosdb - CosmosDB Mongo API:选择特定字段

我正在使用 Azure CosmosDB 数据资源管理器(Azure 门户 -> Azure Cosmos DB -> 数据资源管理器)。只有 JSON 查询字符串{"foo": "bar"}。如何仅选择特定字段或aggregate在那里使用命令?例如,文档结构:

我只想选择:

0 投票
1 回答
843 浏览

azure-cosmosdb - Cosmos DB findOneAndUpdate:对多个参数进行排序失败并出现意外错误

  1. 我已经设置了一个公开 MongoDB API 的 Azure Cosmos DB。
  2. 我使用 mongo shell 连接到数据库。
  3. sampleuse sample.
  4. 我创建了一个简单的sample集合db.sample.insert({})
  5. 然后我尝试运行以下查询:

当我对一个普通的 MongoDB 3.2.0 实例运行它时,查询成功完成(并匹配 0 个结果)。但是,在 CosmosDB 上,会生成以下堆栈跟踪:

CosmosDB 中是否存在一些在普通 MongoDB 实例中不存在的额外查询限制?这只是一个 CosmosDB 错误吗?报告此类错误的适当方法是什么?

0 投票
2 回答
423 浏览

azure - Azure CosmosDB:每个数据库/集合可以设置一个 RBAC

给定从 Azure 门户创建的 Azure CosmosDB 数据库实例,可以使用以下命令从 shell 连接创建多个数据库:

对于公开 MongoDB API 的其他数据库提供程序,可以在数据库或集合级别(对于存在于同一数据库实例上的用户)配置用户角色。

例如,对于自托管的 MongoDB,db.createUser()允许roles接受db选项的参数。MongoDB Atlas 允许通过其 UI 执行类似的操作。

是否可以对 CosmosDB 做同样的事情?在 Azure 门户中,选择 CosmosDB,然后Access control (IAM)转到Roles内置角色列表以及说明可以定义自己的角色但没有说明如何执行此操作的文本。