问题标签 [aws-documentdb]

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 投票
2 回答
148 浏览

python - 如何从 pymongo 聚合中获取结果计数?

我正在尝试获取 pymongoaggregate方法的结果计数。该aggregate方法返回一个command_cursor对象,但根据pymongo 文档,只有该cursor对象有一个count()方法。如何在aggregate不使用任何循环的情况下获取函数结果的计数?

0 投票
1 回答
223 浏览

mongodb - DocumentDb Compound Query really slow for Date

I am using DocumentDb database(total size ~13TB) This is the schema of the database, all the keys are single indexed

1st query: db.collectionName.find({"customerId" : <SAMPLE-CUSTOMER>}).count() returns 500 documents

2nd query: db.collectionName.find({"customerId" : <SAMPLE-CUSTOMER>, "typeOfProduct" : <TYPE>}).count() returns 200 documents

3nd query db.collectionName.find({"customerId" : <SAMPLE-CUSTOMER>, "date" : { "$gte" : NumberLong(1584055385383), "$lte" : NumberLong(1584141785383)}}).count() query just keeps on running infinitely

In the 2nd query, My understanding is that DocumentDb first gets all the documents for matching customerId which is 500, and then iteratively searches for matching typeOfProduct through each document.

In the 3rd query, it is supposed to be working in a similar manner, but the query keeps on running infinitely.

Can someone explain why this is happening? Why is it so slow with the Date? Is it because of the size of the database or am I writing the query wrong?

0 投票
0 回答
59 浏览

python - 在 documentdb 中使用日文字符串进行搜索

我正在尝试在包含日文字符的名字和姓氏的集合中搜索。不知何故,即使集合中有数据,也没有返回结果。

这是我现在拥有的代码,它不会产生任何结果。

对这个有任何想法吗?

DocumentDB实现了 MongoDB v3.6 API。但不知何故,根据文档cursor.collation()仍然不支持。

0 投票
0 回答
184 浏览

node.js - 从 nodeJS 连接到我的 vpc 上的 documnetDB 集群

我正在尝试使用 ssh 隧道从我的 nodeJS Express 项目连接到我的 vpc 上的 documnetDB 集群。并收到此错误:

在代码之前有几件事:我使用了一个名为 ssh-tunnel 的包为简单起见我禁用了 TLS 我成功地通过 MongoDB 指南针连接了与我在这里得到的完全相同的参数

我担心在错误中我试图连接的 dstHost 缺少一些我在 ssh-tunnel 配置中提供的地址,而不是 xxxx-xxxx-xx-xx-xx-xx-xxx.cluster -xxxxxxx.us-east-2.docdb.amazonaws.com 我们得到 xxxx-xxxx-xx-xx-xx-xx-xxx.xxxxxxx.us-east-2.docdb.amazonaws.com 以下是代码行:

0 投票
1 回答
328 浏览

amazon-web-services - 使用 Lambda 从另一个账户中的不同 VPC 访问 AWS DocumentDB?

我在一个账户(假设账户 A)中有一个 lambda 函数,它试图访问另一个账户(账户 B)中的 VPC(私有)内的 AWS 文档数据库

我看到最新的 [DocumentDB 文档] ( https://aws.amazon.com/documentdb/faqs/ ) 提到 VPC 对等互连支持访问 VPC 外部的 DocumentDB 集群,这是否涵盖其他帐户中的 VPC?

是否可以使用 VPC 对等访问 lambda 中的 VPC(在账户 B 中)内的 DocumentDB,这是账户 A 中的另一个 VPC?

0 投票
2 回答
562 浏览

mongodb - 如何在 AWS DocumentDB 中存储大于 16mb 的文件?

我正在从 MongoDB 切换到 AWS DocumentDB。但是,在 MongoDB 中,我使用 GridFs 来存储和检索大于 16MB 的文件。但这在 AWS DocumentDb 中不受支持。有什么方法可以在 AWS DocumentDB 中存储或处理大文件(>16MB)?任何帮助或线索将不胜感激。谢谢!

0 投票
2 回答
343 浏览

mongodb - 如何在 MongoDB 中查找包含空值的文档的数量?

我已经彻底了解了 stackoverflow 链接如何在 mongodb 中查找空文档?,但它返回所有文档而不仅仅是 Null。另外,我只需要对包含 Null 的文档进行计数而不需要任何操作。

所以,背景是,我已将集合从 MongoDB 4.0.17 导入 AWS DocumentDB(~Mongo 3.6)。我看到新 DocumentDB 中少了 2000 个文档。以下是我在还原/导入期间收到的错误消息。

而且,在 AWS 论坛https://forums.aws.amazon.com/thread.jspa?messageID=908846之后,我试图确保丢失的文档是由于 Null 值。但无法对 Null 值文档进行计数。

0 投票
0 回答
346 浏览

mongodb - MongoDB 查找操作抛出 OperationFailure:无法更新值

我有一个应用程序,它使用 MongoDB(在 AWS DocumentDB 上)在其中一个字段中存储带有大字符串的文档,我们称之为字段 X。
开始时需要注意几点:

  1. 我正在使用 pymongo,所以您可能会在此处看到的方法名称取自那里
  2. 由于字段 X 的性质,它没有被索引

在字段 X 上,我们使用 MongoDB 查找方法,该方法使用带有正则表达式条件的查询将其限制为maxTimeMS限制为少量结果。


当我们得到结果时,我们迭代游标以将所有结果提取到列表中(内联循环)。

大多数时候查询正常工作,但我开始收到越来越多的以下错误:

这是在查询返回游标之后抛出的,我们迭代结果并在尝试_refresh通过调用该next方法连接游标并_check_command_response在最后一行被抛出之后发生,这意味着这是一个默认异常(?)。

查询:

堆栈跟踪:

我试图了解异常的起源以正确处理它或使用不同的方法来处理光标。游标的刷新方法正在更新什么可能引发上述异常?

提前致谢。

0 投票
0 回答
42 浏览

python - 过滤 AWS DocumentDB 中的数组字段

我正在尝试从我的DocumentDB. 这是数据的结构

并假设朋友和被阻止的 id 在一个数组中

blocked_ids = [4, 5]

friend_ids = [2, 3]

我想过滤评论,这样它就不会返回被阻止的用户的评论。

我当前的代码看起来像这样

不知何故,此查询返回了我朋友的帖子,但评论字段为空。我还需要过滤内部数组replies。我需要过滤掉被我屏蔽的用户的回复。

0 投票
2 回答
155 浏览

node.js - Mongodb 3.6 在聚合查找中使用多个条件

我的 MongoDb 中有两个集合

  1. metricCollectionForms
  2. 公制

文档看起来像metricCollectionForms这样

我从上面的文档中跳过了一些属性,因为它们与这个问题无关。

至于metric一个典型的文件看起来像这样

您会注意到文档的公式数组字段中引用了formIdfrom 的值。metricCollectionFormsformIdmetric

因此,一个度量可以在其对象的公式数组中使用多种形式。

我正在尝试获取表单列表,并在该列表中返回度量名称数组,其中

metric.formula.formId = formId(表单)AND metric.isActive = true AND metric.isApproved = true

到目前为止,我的聚合查询看起来像这样:

现在它确实返回了一个包含所有指标名称的数组,但我不知道如何在 $lookup 上应用 isApproved 和 isActive true 条件。

我尝试做 $pipeline / $match 等,但似乎没有任何效果。此外,该解决方案应该与 Mongo 3.6 兼容,因为我在 AWS DocumentDb(仅支持 3.6)中使用它。