Хотите запросить только часть времени MongoDate в MongoDB - PullRequest
0 голосов
/ 14 января 2012

Я довольно много искал и, надеюсь, кто-нибудь мне поможет.

Я уже знаю, как запрашивать документы, которые были 3 часа назад и т. Д. Я хочу запрашивать все документы за все дни с 11 до 13 часов и т. Д.

Кто-нибудь знает простой способсделай это?Или более сложное Map / Reduce, которое я могу использовать?

Я бы предпочел, чтобы это не зависело от конкретного языка программирования, если это возможно, но если бы это было так, я бы хотел, чтобы он был в PHP.Обычно лучше сделать это в базе данных.

1 Ответ

1 голос
/ 14 января 2012

MongoDB, в общем, имеет всего несколько простых операторов. С изюминкой: если вам нужно много, вы всегда можете обратиться к JS. Таким образом, вам нужно запустить $where. http://www.php.net/manual/en/mongocollection.find.php имеет примеры.

$js = "function() {
  var date = new Date(this.datecolumn);
  return date.getHours() >= 11 && date.getHours() <= 13;
}";
$collection->find(array('$where' => $js));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...