Я использовал MongoDB и RoR, чтобы хранить регистрирующиеся данные. Я вытаскиваю данные и надеюсь разбивать на страницы результаты. Кто-либо сделал подкачку страниц с MongoDB или знает о каких-либо ресурсах онлайн, которые могли бы помочь запустить меня?
Аплодисменты
Eef
Это может быть очень полезно для конструктора, который содержит общий код; частные конструкторы могут вызываться другими конструкторами с помощью нотации 'this (...);'. Делая общий код инициализации в частном (или защищенном) конструкторе, вы также ясно даете понять, что он вызывается только во время построения, что не так, если бы это был просто метод:
public class Point {
public Point() {
this(0,0); // call common constructor
}
private Point(int x,int y) {
m_x = x; m_y = y;
}
};
-121--2031700- Если честно, я как бы не согласен с большим количеством ответов здесь. Я написал свой первый компилятор (для удовольствия; У меня действительно слишком много кофе/свободного времени), не пройдя курс компиляторов; В основном я просто отсканировал код для другого компилятора и следовал образцу. Я мог бы записать синтаксический анализатор на языке Си с верхней части головы, но я не думаю, что я мог бы вспомнить, как нарисовать автомат отталкивания, если бы от этого зависела моя жизнь.
Когда я решил, что хочу включить вывод типа в свой игрушечный (императивный) язык программирования, я сначала посмотрел, вероятно, пять статей, глядя на что-то, называемое «набранным лямбда-исчислением»... .... * * * *....? Сначала я пытался реализовать что-то с «общими переменными» и «негенеричными переменными» и понятия не имел, что происходит. Затем я сдал все это в утиль и сидел там с блокнотом, выясняя, как я мог реализовать его практически с поддержкой всего, что мне нужно (поднабор, первоклассные функции, параметризованные типы и т.д.) С парой дней мышления и написания тестовых программ, я оторвал более недели, пытаясь разобраться в теоретическом дерьме.
Знание основ вычислений (т.е. как работает виртуальная память, как работают файловые системы, многопоточность/планирование, SMP, структуры данных) оказалось ОЧЕНЬ полезным. Теория сложности и материал Big-O иногда оказываются полезными (особенно полезными для таких вещей, как дизайн RDBMS). Остановка проблемы и автоматы/теория машины Тьюринга? Никогда.
-121--1465071- Разбиение на страницы в MongoDB может быть выполнено с использованием комбинации limit ()
и skip ()
.
Предположим, что в активной базе данных имеется коллекция пользователей.
>> db.users.find().limit(3)
При этом будет получен список первых трех пользовательских документов для нас. Обратите внимание, это по существу то же самое, что писать:
>> db.users.find().skip(0).limit(3)
Для следующих трех мы можем сделать так:
>> db.users.find().skip(3).limit(3)
Это пропускает первые три записи пользователя, и дает нам следующие три. Если в базе данных есть только один пользователь, не беспокойтесь; MongoDB достаточно умна, чтобы возвращать только те данные, которые присутствуют и не сбиваются.
Это может быть обобщено так, и будет примерно эквивалентно тому, что вы будете делать в веб-приложении. Предполагая, что у нас есть переменные, называемые PAGE _ SIZE
, которые установлены в 3, и произвольная PAGE _ NUMBER
:
>> db.users.find().skip(PAGE_SIZE * (PAGE_NUMBER - 1)).limit(PAGE_SIZE)
Я не могу говорить напрямую о том, как использовать этот метод в Ruby on Rails, но я подозреваю, что библиотека Ruby MongoDB раскрывает эти методы.