Учитывая простую структуру документа mongo:
{_id, firstTime, lastTime}
Клиенту необходимо вставить документ с известным идентификатором или обновить существующий документ. "LastTime" всегда должен быть установлен в последнее время. Для "firstTime" , если документ вставлен, тогда "firstTime" следует установить на текущее время. Однако, если документ уже создан, то "firstTime" остается неизменным. Я хотел бы сделать это исключительно с помощью upserts (чтобы избежать поисковых запросов).
Я просканировал http://www.mongodb.org/display/DOCS/Updating, но я просто не вижу, как эта конкретная операция может быть выполнена.
Я не считаю, что это что-то необоснованное, есть операции $push и $addToSet, которые эффективно делают это в полях массива, просто ничего, что могло бы сделать то же самое на простых полях. Это похоже на что-то вроде операции $setIf.