我以前使用过MongoDB和Mongoose,现在尝试在我的应用中实现dynamoose,
对于下面显示的猫鼬查询,如何在dynamoose中编写相同的查询?
返回this.scan({abcd:{$ ne:null},activeFlag:true})。skip(9 *(page-1))。sort({date:-1})。limit(9)
我需要同样的
$ ne-不等于
跳跃
分类
并且也限制
最佳答案
Dynamoose当前不支持skip
函数。这主要是由于我的理解,DynamoDB在其平台上没有跳过类型函数。
对于类似的事情,您可以在Dynamoose中使用.not()
语法。
为了进行排序,您必须使用Query.descending()
或Query.ascending()
语法而不是Scan
。
您可以使用Query.limit()
或Scan.limit()
限制DynamoDB扫描或查询的项目数。请记住,这限制了在应用任何过滤器之前在DynamoDB上扫描或查询的项目数。因此,如果您要过滤掉扫描或查询中的项目,则限制将限制甚至考虑使用过滤器的项目数。
最后,很重要的一点是要理解,尽管Dynamoose受Mongoose的启发很大,但它并不意味着即插即用的替代品。 MongoDB和DynamoDB之间存在一些主要的基本概念,它们之间有很大的不同,这使得即插即用系统基本上变得不可能。
因此,我强烈建议您通读Dynamoose和DynamoDB文档,以了解DynamoDB的优点和局限性,并确保它确实满足给定项目的需求。
当然,您可以通过编写自己的代码,在Dynamoose回调函数内从DynamoDB返回结果之后,执行您想做的所有事情,但是要取决于结果数,表中的项数和速度需要这样做,等等,这可能不是一个很好的选择。因此,尽管您所要求的一切都可以通过编写自己的代码来实现,但它有可能不如MongoDB好,而且因为我对MongoDB的了解不如DynamoDB,而且因为我不知道那些特定的Mongoose函数如何工作,我真的不能这么说。