Czy istnieje sposób zrobić zapytanie kwerendy i count_all pojedynczej metody? Do celów paginacji musimy znać całkowitą liczbę pozycji, abyśmy mogli obliczyć i pokazać liczbę stron.Znajdź i policz wszystkie w Sails.js + Waterline
Odpowiedz
getLength: function(req, res) {
Posts.find({}).exec(function(err, items){
return items.length;
});
}
Zapoznaj się z Sails.Js - How I do pagination in sails.Js do paginacji w Waterline.
Aby uzyskać całkowitą liczbę elementów, można użyć:
Post.count().exec(function (err, nbOfInstances) {
if(err) return res.negociate(err);
return res.ok(nbOfInstances);
});
Tak, ale muszę zadzwonić Post.find(). skip (10) .limit (10) .exec() {...}, aby uzyskać posty dla konkretnej strony i to są dwa wywołania metod. Moje pytania brzmiały: jest jakaś metoda, która wykonuje zarówno żądania, jak i zwraca określoną kolekcję wpisów i liczbę wszystkich wpisów w db. To, czego chcę, to jedna metoda z obydwoma informacjami, więc mam mniej kodowania. –
najpierw kwerendy i pobrać dane potem usunąć ograniczenie, należy pominąć parametry i uzyskać liczyć
delete query._criteria.limit;
delete query._criteria.skip;
Model.count(query._criteria).exec(function countCB(error, count) {
});
ja też mogłam „t znaleźć żadnego wbudowanego sposób to zrobić w jednym żądaniu więc robię to tak:
let queryParams = {},
pageNo = 1,
perPage = 10;
Post.count(queryParams)
.then(_count=>{
return {posts_count: _count,
posts: Post.find(queryParams).paginate({page: pageNo, limit: perPage})};
})
.then(res.ok)
.catch(err=>res.negotiate(err.message));
WYJŚCIE:
/*
{
posts_count: 0,
posts: []
}
*/
- 1. Sails.js + Waterline: Many-to-Many poprzez asocjację
- 2. Minify wszystkie sails.js obsługiwane html
- 3. transakcyjna SQL z Sails.js
- 4. Sails.Js - Jak robić paginację w żaglach. JA
- 5. Znajdź wszystkie pliki w folderze
- 6. Znajdź wszystkie podklasy w dart
- 7. Znajdź wszystkie węzły tekstowe
- 8. szyn: Znajdź wszystkie warunki
- 9. Sails.js Model: stwórz 2 asocjacje do siebie nieudane
- 10. Niepowodzenie unikalnej właściwości w pliku Sails.js
- 11. Policz wszystkie obiekty wyszukiwania w szablonie za pomocą django-haystack
- 12. Znajdź wszystkie zajęcia w pakiecie w Androidzie
- 13. Znajdź i zamień wszystkie znaki specjalne w SQL
- 14. Znajdź wszystkie zamki i rozpakuj w miejscu - Unix
- 15. Znajdź wszystkie submatrices danej matrycy
- 16. Jak wyłączyć "Znajdź wszystkie" ReSharpera "
- 17. Znajdź wszystkie krytyczne krawędzie MST
- 18. Znajdź wszystkie odwołania do widoku
- 19. Znajdź wszystkie wywołania procedury składowanej w MySQL?
- 20. Znajdź wszystkie zasoby osadzone w innym zespole
- 21. Policz słowa i spacje w ciągu C#
- 22. Znajdź wszystkie pola varchar() w serwerze sql?
- 23. Znajdź wszystkie pliki binarne w git HEAD
- 24. Znajdź wszystkie zablokowane pliki w TFS
- 25. Znajdź wszystkie współrzędne całkowite w danym promieniu
- 26. Silverlight: Znajdź wszystkie formanty typu w layoucie
- 27. Policz wiersze w pliku tekstowym
- 28. Jak wykonać kwerendę "$ in" z Waterline i MongoDB
- 29. Znajdź wszystkie ciągi w plikach kodu Pythona
- 30. Znajdź wszystkie moje zmiany w gerrit
Tak, ale kiedy robi paginacji zwykle ustawić kilka kryteriów w metodzie find jak przejść i ograniczenia tak wtedy items.length nie jest całkowitą liczbą elementów w bazie danych. –
Możesz filtrować zapytanie. sprawdź to: http://sailsjs.org/#!/documentation/concepts/ORM/Querylanguage.html –