Как вставить документ с датой в монго?

Мы пытаемся вставить документ с текущей датой в качестве поля. Мы пишем в java, используя плагин eclipse для mongodb. Мы хотим выполнить команду Date() mongo, чтобы получить дату из mongo, а не из java.

Как выполнить этот запрос mongo?

db.example.insert({"date":new Date()})

Я нашел этот вопрос в вопросе предварительного просмотра, но ответ не помог

Ссылка

Ответ 1

Стандартный драйвер принимает java.util.date типы и сериализуется как даты BSON. Итак, с объектом коллекции "пример"

Date now = new Date();

BasicDBObject timeNow = new BasicDBObject("date", now);
example.insert(timeNow);

Если вы ищете способ использования времени "сервера" в операциях, существует оператор $currentDate, но это работает с "обновлениями", поэтому вам нужна операция "upsert":

 BasicDBObject query = new BasicDBObect();
 BasicDBObject update = new BasicDBObject("$currentDate",
     new BasicDBObject("date", true)
 );

 example.update(query,update,true,false);

Поскольку на самом деле это инструкция обновления, вам нужно быть осторожным, чтобы на самом деле вы не соответствовали каким-либо документам, если вы предполагаете, что это только вставка. Поэтому было бы лучше убедиться, что ваш "запрос" содержит уникальную информацию, такую ​​как вновь созданный _id или что-то уникальное.

Ответ 2

Используйте это:

db.example.insert({"date":new Date(Date.now())});

Ответ 3

Вы можете сделать это, попробовав что-то вроде этого:

db.example.insert({"date":ISODate("2016-03-03T08:00:00.000")});