问题标签 [aws-documentdb-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 回答
302 浏览

c# - 带有 C# MongoDB 驱动程序的 AWS DocumentDB,不支持的高效分页

我正在使用 C# 针对 MongoDB 4.0 开发一些查询和索引MongoDB.Driver 2.12.4

MongoDB 一切都很好。不幸的是,我必须使用 AWS DocumentDB 作为生产数据库,它声称与 MongoDB 兼容,但我发现了几个问题:

问题是:使用 AWS DocumentDB 对结果进行分页的最佳方式是什么?是否有任何选项可以使用单个查询来执行此操作?或者我必须两次访问数据库?

这是我使用 Facet 和聚合 facet 结果的原始实现。


更新 2021-07-06

这是我的解决方法,它查询两次数据库,因为我需要匹配过滤条件的项目总数。

0 投票
1 回答
104 浏览

aws-documentdb-mongoapi - AWS DocumentDB:实例 writeIOPS 和集群 volumeWriteIOPS 有什么区别,为什么 volumeWriteIOPS 是 writeIOPS 的 100 倍?

我们最近部署了一个带有一个实例的 AWS documentDB,在过去 72 小时内插入了大约 6000 个文档。

奇怪的是,实例和集群的写入操作数完全不同。集群状态超过 1000 个 volumeWriteIOP,而实例显示(更多预期)6 个 writeIOP(过去 3 天的持续时间)。

一些细节:每个文档平均为 14kb。该集合有两个索引。一个在 _id 字段上,另一个在包含最多三个值的数组上(几乎所有文档在这个数组中只有一个值)。每秒大约插入 2 个新文档和更新 4 个文档(根据集群和实例)。

集群和实例中的 readIOP 均为零,IndexBufferCacheHitRatio 为 99.9-100%。(opCountersQuery 约为 9)。

据我所知,除了标准设置外,没有任何更改流或任何东西。

我正在使用 node/mongoose 连接到 documentDB。

我的问题主要是,这些 volumeWriteIOP 是从哪里来的?volumeWriteIOPs(集群)和 writeIOPs(实例)是完全不同的测量吗?我还缺少其他东西吗?

0 投票
1 回答
50 浏览

mongodb - Mongo Shell 在连接到 AWS Document DB 后变得无响应

我在与我的 EC2 相同的区域中创建了一个 AWS 文档数据库。当我尝试使用 AWS 提供的命令连接到它时,终端似乎卡住了。

在此处输入图像描述

ec2 和 Document DB 位于同一区域。
Document DB 的安全组允许 27017 访问。
两者都在同一个 VPC 中。

我不明白为什么它说已连接但随后不允许我输入命令

0 投票
1 回答
147 浏览

amazon-web-services - 尝试连接到特定端口上的 aws ec2 时出现连接被拒绝错误?

我们正在尝试在 aws ec2 上使用 ssh 隧道本地端口转发,这应该将请求转发到 DocumentDB。

使用 netstat 命令(netstat -ano|grep 27777),我们知道端口正在侦听 aws ec2。但是,使用我们机器和 mongodb 应用程序的 telnet 命令,当我们尝试连接到 27777 上的 ec2 实例时,我们得到连接拒绝错误,其中我们可以从我们的机器()SSH 到 ec2 实例。使用ssh -i "ec2keypair.pem" ec2-user@ec2*****.compute.amazonaws.comtelnet 命令,我们得到异常Could not open connection to the host, on port 27777: Connect failed。端口在 aws 安全组以及我们的机器防火墙入站和出站规则中打开。谁能告诉我们原因问题?

0 投票
0 回答
20 浏览

mongodb - 有没有更简单的方法/工具来查询 mongo 文档?

Mongo 是我们的 OLTP 数据库——我们确实有一些管道将数据从 Mongo 带到 OLAP 数据仓库以进行报告/设计。但是,有没有一种简单的方法可以直接在 Mongo 数据库上运行查询 - 我们每天都会收到 100 个即席请求,我们想探索是否有任何简单的方法(如果有工具)直接回答其中的一些请求查询 mongodb 而不是不断更新我们的管道和更改报告数据模型

0 投票
1 回答
142 浏览

apache-spark - 如何将 documentdb 连接到 emr 实例中的 spark 应用程序

在我的 EMR 实例中尝试使用 mongodb 配置 spark 时出现错误。下面是命令——

我是 Spark 和 AWS 的初学者。有人可以帮忙吗?

0 投票
1 回答
53 浏览

mongodb-query - 当所有结果都匹配时,计算使用 $match 过滤的 $lookup 和 $unwind 文档而不删除父文档

我有一个集合“所有者”,我想返回一个匹配过滤器(任何过滤器)的“所有者”列表,以及该所有者的“宠物”集合中的“宠物”计数,除非我不想要死去的宠物。(编造的例子)

我需要返回的文档看起来与添加了“petCount”字段的“所有者”文档完全一样,因为我正在使用带有 Mongo Java 驱动程序的 Java Pojos。

我使用的 AWS DocumentDB 尚不支持 $lookup 和过滤器。如果是这样,我会使用它并且我会完成:

但因为它不是我到目前为止得到的:

这非常有效,除非所有者只有“死”宠物,否则不会返回所有者,因为所有“文档副本”都被 $match 过滤掉了。当所有文档都为“DEAD”时,我需要使用 petCount = 0 返回父文档。我无法弄清楚如何做到这一点。

有任何想法吗?

这些是 DocDB 4.0 支持的操作https://docs.amazonaws.cn/en_us/documentdb/latest/developerguide/mongo-apis.html

0 投票
1 回答
34 浏览

spring-data-mongodb - AWS Document DB - Spring Boot 集成 - WRITE Ops 的提交行为

我有一个 Spring Boot应用程序2.2.5 RELEASE(我们在没有明确声明的情况下使用MongoOperationsMongoTransactionManager

在此设置中,对于 MongoDB 4.X 副本集,如果客户端未启动显式事务,我们将获得“自动提交”写入。看这里

但是,我们想了解,当我们在 DocumentDB Cluster(具有副本集)上执行 WRITE 操作时,使用相同的 Mongo Java 驱动程序版本3.11.2兼容MongoDB Server 版本,而不从客户端(即 spring boot 应用程序)启动显式事务4.2.X),何时或如何准确地进行数据库提交?我们已经看到插入后间隔很近的更新(在 <50 毫秒内)失败,说明更新无法找到插入的记录。

似乎与 MongoDB 相同的行为,即“自动提交”可能不适用于“DocumentDB”。在那种情况下,如何提交 WRITE?

有人可以帮助我们理解潜在的行为吗?我们在AWS DocumentDB 文档中找不到任何有关WRITE Ops wo Transactions 的详细说明。

此外,DocumentDB 是否在集合上使用单线程 WRITE 方法,或者它是如何使用的?

0 投票
0 回答
18 浏览

amazon-web-services - READIOPS 指标图未显示任何内容

嗨,我正在使用 aws document db 进行一些性能测试。我只在一段时间内进行读取操作。但奇怪的是,我在 READOPS 计数指标中没有看到任何内容

0 投票
0 回答
180 浏览

mongodb - 当用户名和密码作为参数传递时无法连接到文档数据库

我有一个 documentdb 集群,当我同时传递用户名和密码 args 时,我无法连接到 documentDB

mongo --host <myDocDbHost>:27017 --username admin --password <myPassword> 我收到以下错误

当我尝试 mongo --host <myDocDbHost>:27017 --username admin在下一个提示中输入密码时,它会询问我可以连接的密码。我确认我在这两种情况下都使用了正确的密码。当我尝试直接从与 documentDB 相同的 VPC 中的 EC2 实例以及通过 ssh 隧道连接时,我遇到了同样的问题。有人可以通过同时传递用户名和密码参数来帮助我连接到数据库吗