Как мне PHP-запрос регулярных выражений на mongodb Дата

У меня есть коллекция пользователей, и я хочу получить всех пользователей, которые зарегистрировались в 2015 году.

С обычной строкой даты можно выполнить запрос:

$query=[
'timestamp'=> [
'$regex' => "2015"]
];

Но когда я пробую это на временной метке MongDate, это больше не работает.

Есть идеи?

0

Решение

Дата, хранящаяся в MongoDB, не является строкой, это тип даты. Вы не можете сопоставить регулярные выражения с ним, потому что это не строка. Вместо этого просто выполните поиск с диапазоном дат (и индексируйте поле даты, если хотите, чтобы оно было быстрым):

db.test.find({ "timestamp" : { "$gte" : ISODate("2015-01-01T00:00:00.000Z"), "$lt" : ISODate("2016-01-01T00:00:00.000Z") } })

Я не знаком с PHP, поэтому я написал запрос в синтаксисе оболочки Монго.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]