Великолепные вопросы.
1) Это зависит от вашей цели.
В большинстве случаев это значение по умолчанию имеет смысл. Один выполняет ползание с анемоном и анализирует данные.
Когда вы выполняете новый обход, старые данные должны быть удалены, чтобы данные из нового обхода могли заменить его.
Вы можете указать движку хранилища новую коллекцию, прежде чем начинать новое сканирование, если вы не хотите, чтобы это произошло.
2) Mongoid не будет создавать классы моделей для вас.
Вам нужно определить модели, чтобы mongoid знал, как создать класс для коллекции, и при желании определить поля, которые есть у каждого документа, чтобы вы могли использовать метод доступа .
из коробки.
Что-то вроде:
class Page
include Mongoid::Document
field :url, type: String #i'm guessing, check what kind of docs anemone produces
field :aliases, type: Array
field ....
end
Вероятно, потребуется включить следующие поля:
- url - URL страницы
- псевдонимы - другие URL-адреса, перенаправляемые на эту страницу, или на страницу, на которую перенаправляется эта страница
заголовки - полные заголовки ответа HTTP
- код - код ответа HTTP (например, 200, 301, 404)
- body - Необработанное тело HTTP-ответа
- doc - A Nokogiri :: HTML :: Документ тела страницы (если применимо)
- ссылки - Массив всех URL-адресов, найденных на странице, которые указывают на один и тот же домен
Но, пожалуйста, просто посмотрите, какой тип (строка, массив и т. Д.) Механизм хранения хранит их, и не делайте предположений.
Удачи!