Как пропустить, отсортировать и ограничить использование Dynamoose? - PullRequest
0 голосов
/ 29 августа 2018

Раньше я использовал MongoDB и mongoose, сейчас пытаюсь реализовать Dynamoose в своем приложении, Как написать тот же запрос в Dynamoose для показанного ниже запроса мангуста?

вернуть this.scan ({abcd: {$ ne: null}, activeFlag: true}). Skip (9 * (страница - 1)). Sort ({date: -1}). Limit (9)

Мне нужно то же самое для $ ne - не равно пропускать Сортировать а также предел

1 Ответ

0 голосов
/ 29 августа 2018

Dynamoose в настоящее время не поддерживает skip функцию. Это в основном потому, что, насколько я понимаю, у DynamoDB нет функции пропуска типа на их платформе.

Чтобы сделать что-то вроде не равного, вы можете использовать синтаксис .not() в Dynamoose.

Для сортировки необходимо использовать синтаксис Query.descending() или Query.ascending() вместо Scan.

Вы можете ограничить количество элементов, которые DynamoDB будет сканировать или запрашивать, используя Query.limit() или Scan.limit(). Помните, что это ограничивает количество элементов, отсканированных или запрошенных в DynamoDB до применения любых фильтров. Поэтому, если вы отфильтровываете элементы в своем сканировании или запрашиваете, ограничение ограничит количество элементов, которые даже учитываются для фильтра.

Наконец, важно понимать, что, хотя Dynamoose сильно вдохновлялся Mongoose, он не предназначен для замены Plug and Play. Существует несколько основных фундаментальных концепций, которые сильно различаются между MongoDB и DynamoDB, что делает систему plug and play практически невозможной.

Поэтому я настоятельно рекомендую вам ознакомиться с документацией Dynamoose и DynamoDB, чтобы понять преимущества и ограничения DynamoDB и убедиться, что он действительно соответствует потребностям вашего проекта.

Конечно, вы можете делать все, что хотите, после того, как результаты будут возвращены из DynamoDB внутри функции обратного вызова Dynamoose, написав свой собственный код, но в зависимости от того, сколько у вас результатов, сколько элементов в таблице, насколько быстро вам это нужно и т. д., что может быть не очень хорошим вариантом. Поэтому, хотя все, о чем вы просите, возможно благодаря написанию собственного кода, есть вероятность, что он будет не так хорош, как MongoDB, и потому что я не знаю MongoDB так же хорошо, как DynamoDB, и потому что я не знаю как работают эти специфические функции Mongoose, я не могу говорить об этом.

...