2014-09-22 22 views
1

我用MongoTemplate處理的MongoDB如何使用MongoTemplate查詢「Timestamp()或Date()」到MongoDB?

我想更新文件一欄當前時間

MongoDB中的命令行客戶端,它會與

db.collectionName.update({_ ID的工作原理:1 },{timeCol:new Timestamp()}); 或 db.collectionName.update({_ id:1},{timeCol:new Date()});

但我不知道如何通過使用mongoTemplate來做到這一點。

更新更新; update.set(「timeCol」,「new Timestamp()」); //當然,這是行不通的

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的時間戳。 我想更新到DB服務器的準確時間戳 – Minsu 2014-09-23 01:56:34

0

更新集合Spring-data-mongodb 1.6版本,這將使用MongoDb當前日期

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(key)

+0

@Minsu是否幫助您 – rajadilipkolli 2016-08-03 19:30:22