2014-09-22 2 views
1

Я использую MongoTemplate обрабатывать MongoDBКак мне запросить «Timestamp() или Date()» с MongoTemplate в MongoDB?

Я хочу колонку обновлять документы текущего времени

В MongoDB клиенте командной строки, он будет работать с

db.collectionName.update ({_ ID: 1 }, {timeCol: новая отметка времени()}); или db.collectionName.update ({_ id: 1}, {timeCol: new Date()});

Но я не знаю, как это сделать, используя mongoTemplate.

Обновить данные; update.set ("timeCol", "новая отметка времени()"); // конечно, она не работает

Plz помочь мне

ответ

0

Построить текущую отметку времени

Date currentDate = new Date(); 
Timestamp timeStamp = new Timestamp(currentDate.getTime()); 

Затем обновить коллекцию так:

Query query = new Query(); 
query.addCriteria(Criteria.where("_id").is(1)); 

Update update = new Update(); 
update.set("timeCol", timeStamp); 

mongoOperations.updateFirst(query, update, "collectionName"); 
+0

Спасибо за ваш ответ. Я использовал это, но это не временная метка DB, а метка времени WAS. Я хочу обновить до точной отметки времени сервера БД – Minsu

0

Коллекция обновления как это от Spring-data-mongodb 1.6 version, это будет использовать MongoDb current Date

Query query = new Query(); 
query.addCriteria(Criteria.where("_id").is(1)); 

Update update = new Update(); 
update.currentDate("timeCol") 

mongoOperations.updateFirst(query, update, "collectionName"); 

Если вы хотите использовать временную метку update.currentTimestamp (key); вместо update.currentDate (ключ)

+0

@ Мину это помогло вам – rajadilipkolli

Смежные вопросы