Java Mongodb时间戳输出格式返回$“数字长”;对象,以毫秒为单位获取unix时间
我开发了一个Spring应用程序,它将JSON保存在MongoDb中。 客户端可以通过输入开始和结束的时间间隔来搜索数据。 为了能够使用正则表达式(lte和gte)从数据库中获取数据,我将时间保存为UnixTimeStamp:Java Mongodb时间戳输出格式返回$“数字长”;对象,以毫秒为单位获取unix时间,java,json,mongodb,time,format,Java,Json,Mongodb,Time,Format,我开发了一个Spring应用程序,它将JSON保存在MongoDb中。 客户端可以通过输入开始和结束的时间间隔来搜索数据。 为了能够使用正则表达式(lte和gte)从数据库中获取数据,我将时间保存为UnixTimeStamp: "TimeStamp": { "StartTime": 1549371540000, "EndTime" : 1549371540000, "StartTimeZone":"
"TimeStamp": {
"StartTime": 1549371540000,
"EndTime" : 1549371540000,
"StartTimeZone":"Europe/Berlin",
"EndTimeZone":"Europe/Berlin"
}
过滤工作正常,但我得到以下结果:
"TimeStamp": {
"StartTimeZone": "Europe/Berlin",
"EndTimeZone": "Europe/Berlin",
"EndTime": {
"$numberLong": "1549371540000"
},
"StartTime": {
"$numberLong": "1549371540000"
}
}
是否可以只获取键值对,而不是使用$numberLong键获取StartTime对象?
我还考虑用yyyy_-mm_-ddTHH:mm:SS+-Offset节省aso Iso格式的时间
但据我所知,我可以用正则表达式来过滤这种格式的时间。
处理时间是项目的重要组成部分,我想让舒尔以最佳实践的方式对待这一部分
编辑:
在我的代码中,我希望
for (Document doc : collection.find(query).projection(Projections.include(projectionList))) {
//Save the query result as a List of JSON-Objects
dataList.add(doc.toJson());
}
将结果保存为JSON列表。我知道toJson方法已被弃用,但我无法找到将文档转换为JSON表示法的方法
是否可以只获取键值对,而不是使用$numberLong键获取StartTime对象
我知道toJson方法已被弃用
@medTech toJson方法未被弃用,请参考文档的官方文档。另外,请点击链接
是否可以只获取键值对,而不是使用$numberLong键获取StartTime对象
我知道toJson方法已被弃用
@medTech toJson方法未被弃用,请参考文档的官方文档。另外,请点击链接。Nice。回答得好!美好的回答得好!
JsonWriterSettings settings = JsonWriterSettings.builder()
.int64Converter((value, writer) -> writer.writeNumber(value.toString())).build();
document.toJson(settings); // The output would contain simple long value