javascript - 如何使用 dynamoose 跳过、排序和限制?

标签 javascript node.js amazon-dynamodb dynamoose

我以前使用过 MongoDB 和 mongoose,现在尝试在我的应用程序中实现 dynamoose, 如何在 dynamoose 中为下面显示的 Mongoose 查询编写相同的查询?

return this.scan({ abcd: { $ne: null }, activeFlag: true }).skip(9 * (page - 1)).sort({ date: -1 }).limit(9)

我需要同样的 $ne - 不等于 跳过 种类 并且还限制

最佳答案

Dynamoose 目前不支持 skip 功能。这主要是因为根据我的理解,DynamoDB 在他们的平台上没有跳过类型的功能。

要执行类似不等于的操作,您可以使用 .not() Dynamoose 中的语法。

要进行排序,您必须使用 Query.descending()Query.ascending()语法而不是 Scan

您可以使用 Query.limit() 限制 DynamoDB 将扫描或查询的项目数或 Scan.limit() .请记住,这限制了应用任何过滤器之前在 DynamoDB 上扫描或查询的项目数。因此,如果您要过滤掉扫描或查询中的项目,该限制将限制甚至被考虑用于过滤器的项目数量。

最后,重要的是要了解,尽管 Dynamoose 深受 Mongoose 的启发,但它并不意味着即插即用的替代品。 MongoDB 和 DynamoDB 之间有一些主要的基本概念非常不同,这使得即插即用系统基本上是不可能的。

因此,我强烈建议您通读 Dynamoose 和 DynamoDB 文档,以了解 DynamoDB 的优势和局限性,并确保它真正满足您给定项目的需求。

当然,您可以通过编写自己的代码在 Dynamoose 回调函数内部从 DynamoDB 返回结果后做任何您想做的事情,但这取决于您有多少结果,表中有多少项目,你需要多快,等等,这可能不是一个很好的选择。所以虽然你所要求的一切都可以通过编写你自己的代码来实现,但它有可能不如 MongoDB,因为我对 MongoDB 的了解不如 DynamoDB,而且因为我不知道这些特定的 Mongoose 函数是如何工作的,我真的不能说。

关于javascript - 如何使用 dynamoose 跳过、排序和限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52072806/

相关文章:

javascript - 使用映射创建组件 - 但功能是相互关联的

Javascript/Jquery 幻灯片效果发生在错误的位置

node.js - 在 Node.js Express 中禁用 TLS 1.0 和 1.1 或仅使用 TLS 1.2 及更高版本

amazon-web-services - 本地 Docker 设置中的 DynamoDB : Table not found

boto - 使用 boto 从 dynamodb 获取唯一哈希键值列表

javascript - 鼠标悬停在 Canvas 上与鼠标在 html 对象上输入的性能

带有 DataTable 的 Javascript JSON 数据

node.js - 无法解析 'sha1'

javascript - 从 http.get 获取状态码

objective-c - AWSDynamoDBQueryExpression 按 UNIX 时间戳排序