如何使用MongoTemplate向MongoDB查询“Timestamp()或Date()”?

时间:2014-09-22 04:19:32

标签: mongodb mongodb-query spring-data-mongodb

我使用MongoTemplate来处理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帮帮我

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分: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");

如果你想让Timestamp使用update.currentTimestamp(key);而不是update.currentDate(key)