【发布时间】:2020-03-12 21:23:30
【问题描述】:
我想在 mongodb 中插入以下文档:
Query query = new Query();
query.addCriteria(Criteria.where("client").is(client));
Update update = new Update();
update.set("dateTime", new DateTime());
update.set("maxDate", new DateTime("9999-12-31T00:00:00.000+01:00"));
mongoTemplate.upsert(query, update, MyClass.class);
插入的对象是
{
"client" : "client",
"dateTime" : ISODate("2020-03-12T10:11:35.077Z"),
"maxDate" : Date(253402210800000)
}
我希望 maxDate 采用 ISODate 格式。可能吗 ? 9999-12-31T00:00:00.000+01:00 对 mongodb 来说太远了吗? 这么大的价值有什么问题吗?
我在这里读到 https://docs.mongodb.com/manual/core/shell-types/ mongoDB 可以支持 9999 年
使用 datagrip 而不是使用 robomongo 进行编辑 如果我使用 datagrip 而不是 robomongo 来读取文档,则格式是正确的。问题可能来自 robomongo 显示器吗?
【问题讨论】:
-
MongoDB 应该可以工作,即
ISODate("9999-12-31T00:00:00")工作正常。也许java不支持,但是我对java不熟悉。 -
如果我使用datagrip而不是robomongo来读取文档,格式是正确的。问题可能来自 robomongo 显示器吗?
标签: java mongodb datetime robo3t isodate