Ми намагаємося вставити документ з поточною датою, як його поле. Ми пишемо у java, використовуючи плагін Eclipse для mongodb. Ми хочемо виконати Date()
команда Mongo отримати дату з монго, а не з java.
Як я можу виконати цей запит Mongo?
db.example.insert({"date":new Date()})
Я знайшов це питання на попередньому огляді, але відповідь не був корисним
Відповіді:
19 за відповідь № 1Стандартний драйвер приймає java.util.date типи і серіалізується як дати BSON. Отже, з колекцією об'єкта на "приклад"
Date now = new Date();
BasicDBObject timeNow = new BasicDBObject("date", now);
example.insert(timeNow);
Якщо ви шукаєте спосіб використання "сервера" часу в операціях, є $currentDate
оператор, але це працює з "оновленнями", тому ви хочете виконати "виправлення" операції:
BasicDBObject query = new BasicDBObect();
BasicDBObject update = new BasicDBObject("$currentDate",
new BasicDBObject("date", true)
);
example.update(query,update,true,false);
Оскільки це фактично оновлення, випотрібно бути обережним, щоб ви фактично не підходили до будь-яких документів, якщо ви хочете, щоб це було лише вкладишем. Тому краще переконатися, що ваш "запит" містить унікальну інформацію, таку як щойно створений _id
або щось не менш унікальне.
2 для відповіді № 2
Використовуй це:
db.example.insert({"date":new Date(Date.now())});
1 для відповіді № 3
Ви можете спробувати щось подібне:
db.example.insert({"date":ISODate("2016-03-03T08:00:00.000")});