php mongodb find — возвращает вычисленное значение

#php #mongodb #date-arithmetic

#php #mongodb #дата-арифметика

Вопрос:

В PHP -> MongoDB, как мне вернуть поле в виде вычисляемого значения?

 $this->Collection = $this->db->$theDB;  
$cursor = $this->Collection->find();
  

Например, одним из моих полей является дата рождения:

 DOB : 1/1/1980
  

Вместо этого я хочу вернуть возраст. Текущая дата — DOB = ВОЗРАСТ.

Возможно ли это / как?

Ответ №1:

Вы могли бы сделать map-reduce и обработать возраст подобным образом

Ответ №2:

Нет, это невозможно.

Как насчет просто создать метод, который вернет вам возраст из dob?

 getAgeFromDOB(date dob)
{
  return Current Date - dob;
}
  

Комментарии:

1. Я подумал, что было бы эффективнее, если бы mongodb возвращал возраст в виде столбца для меня, но, конечно, я могу перебирать данные в php и выполнять вычисления самостоятельно.

2. @ScottSzretter: Если вам не нужен запрос о возрасте, я думаю, это не заставляет sence сохранять возраст в mongodb и пересчитывать его в фоновом режиме..