问题标签 [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.
aggregation-framework - 不支持聚合阶段:'$bucket'
我正在使用 mongodb 并使用带有聚合的存储桶阶段查询数据库。
MongoDB版本:
我的查询是:
我收到错误:
无法执行选定的命令
Mongo 服务器错误 (MongoCommandException):命令失败,错误 304:服务器 mongodb-test:27017 上的“不支持聚合阶段:“$bucket”。
完整的响应是: { "ok" : 0.0, "errmsg" : "Aggregation stage not supported: '$bucket'", "code" : NumberInt(304) }
在文档中,我可以看到存储桶从 3.4 版开始包含在 mongodb 中。 https://docs.mongodb.com/v3.6/reference/operator/aggregation/bucket/
任何机构都可以指出这个错误的原因是什么......
database - Amazon DocumentDB 无法连接并出现错误“SSL 对等证书验证失败”
我正在尝试连接到我们的 AWS DocumentDB,但它失败并出现以下错误:
我使用的命令:
mongo --ssl --host MY_DOCUMENT_DB_HOST_AND_PORT --sslCAFile MY_KEY_PATH --username MY_USERNAME --password MY_PASSWORD
我已经尝试过一些故障排除:
- 将完全相同的命令和密钥发送到同一网络上的另一台 Mac OS X 机器 --> 工作正常
- 卸载并重新安装了我的 mongo 应用程序
mongodb-community@4.2
mongodb - Aws 文档数据库在查找查询中不使用 elemMatch 运算符中的索引?
我正在为文档的数组字段使用单独的索引。在查询文档时,正在使用 elemMatch 运算符。但是当我尝试运行解释命令时,它告诉我没有使用索引。
我得到以下解释查询的结果:
这意味着它没有使用我为此集合创建的索引。
aws 文档是否在 elemMatch 运算符中不使用数组索引。?
mongodb-java - 设置更新提示以使用索引
根据文档,可以提供更新提示。
现在我正在使用 java mongo 客户端和 mongo 集合进行更新。
对于此更新,我找不到任何方法来提示要使用哪个索引。
我看到更新我正在日志中进行 COLSCAN,所以想提供提示。
两者都有索引_id
,array1.id
我在日志中发现此更新的查询使用 COLSCAN 来查找文档。
谁能指出我正确的方向?
使用 AWS DocumentDB,即 MongoDB v3.6
amazon-web-services - TLS 的 AWS DocumentDB 连接问题
禁用 TLS 后,我可以使用此处显示的相同代码通过我的 lambda 函数成功连接 - https://docs.aws.amazon.com/documentdb/latest/developerguide/connect.html#w139aac29c11c13b5b7
但是,当我启用 TLS 并使用上面链接中启用 TLS 的代码示例时,我的 lambda 函数会超时。我已经通过 wget 下载了 rds 组合的 ca pem 文件,并且我正在将 pem 文件连同我的代码一起部署到 AWS lambda。
这是我的执行停止和超时的代码:
在“连接字符串”打印后,我在 cloudwatch 日志中看不到任何错误。
node.js - 无法确定与 DocumentDB 的 Mongoose SSL 连接错误
我在 AWS Elastic Beanstalk (EB) 中有 2 个环境,运行一个使用 Mongoose 框架连接到 DocumentDB 的 Node.js 应用程序。其中一个环境莫名其妙地停止工作,而另一个环境工作正常。两者都是从使用 EB CLI 部署应用程序代码的 CI/CD 构建服务器部署的。
有问题的环境在 nodejs.log 中生成以下错误:
两者都使用相同的连接字符串,因为它们连接到同一个实例mongodb://*****:*****@docdb-2019-08-**-**-**-**.cluster-**********.us-east-2.docdb.amazonaws.com:27017/db_name?ssl=true&ssl_ca_certs=/etc/ssl/certs/rds-combined-ca-bundle.pem&replicaSet=rs0
证书 pem 文件与两者使用的文件相同,并通过 EB .ebextensions 脚本部署到实例。
我尝试过的事情:
- 连接到问题环境的 EC2 实例,安装 mongodb shell 并能够使用 Mongo 连接字符串中指定的证书成功连接到 DocumentDB 实例。
- 通过 Elastic Beanstalk Web 管理控制台重建 EB 环境。
目前有点卡住,没有想法。
karate - How to connect to documentDB using karate?
We have collections in documentDb to which I connect using the compass interface, but now I have to write test cases for it in karate and can't find a away to connect to documentDB. Is there any way please help!.
mongodb - 在 mongo 中的大型嵌入式数组上创建索引
我有一个带有嵌入式数组的文档。数组只是一堆字符串。我最近遇到了一些性能问题,所以我决定创建一个索引。但它不允许我这样做,因为“键太大而无法索引”。
我正在使用 AWS DocumentDB。
示例文档如下所示:
我看到了Cannot create index in mongodb,“key too large to index”这个问题,但我并没有真正看到解决方案如何适用于我的问题。
mongodb - mongoDB 上 $replaceRoot 的替代方法是什么?$replaceRoot 与 documentDB 不兼容
问题:我正在尝试在 MongoDB 上进行查询,但我使用的是来自亚马逊的DocumentDb,其中不支持某些操作。如果可能的话,我想找到一种替代方法来获得相同的结果。基本上我想改变结果的根,而不是成为第一个实体,我需要它是文档不同级别的一些值的一些合并。
所以,我的收藏中有以下结构:
我想要实现的是像这样列出所有“应收账款”,其中_id是应收账款的_id:
我可以使用 $replaceRoot 在 MongoDB 上的以下查询中执行此操作,但使用 documentDB 我不能使用 $replaceRoot 或 $mergeObjects。你知道我怎样才能得到与其他运营商相同的结果吗?: