I desarrollar una aplicación que ahorra primavera JSON en MongoDB. El cliente es capaz de buscar datos con la participación en un intervalo de tiempo de empezar y terminar. Para poder utilizar expresiones regulares (LTE y GTE) para obtener los datos de la base de datos ahorro el tiempo como UnixTimeStamp:
"TimeStamp": {
"StartTime": 1549371540000,
"EndTime" : 1549371540000,
"StartTimeZone":"Europe/Berlin",
"EndTimeZone":"Europe/Berlin"
}
Las obras de filtrado, pero me sale el siguiente como consecuencia:
"TimeStamp": {
"StartTimeZone": "Europe/Berlin",
"EndTimeZone": "Europe/Berlin",
"EndTime": {
"$numberLong": "1549371540000"
},
"StartTime": {
"$numberLong": "1549371540000"
}
}
¿Es posible obtener sólo el par clave-valor en lugar del objeto Hora de inicio con la tecla $ numberLong? Yo también estaba pensando en el ahorro de tiempo aso formato ISO con yyyy_mm_ddTHH: MM: SS + -offset
Pero por lo que sé que puedo simplemente la expresión regular para filtrar el tiempo en este formato. Tratar con el tiempo es una parte esencial del proyecto y quiero hacer Shure que trato esta parte de la mejor manera práctica.
EDIT: En mi código I
for (Document doc : collection.find(query).projection(Projections.include(projectionList))) {
//Save the query result as a List of JSON-Objects
dataList.add(doc.toJson());
}
guardar los resultados como una lista de jsons. Sé que el método toJson está en desuso pero no fue capaz de encontrar una manera de convertir el documento en una notación JSON.
¿Es posible obtener sólo el par clave-valor en lugar del objeto Hora de inicio con la tecla $ numberLong?
JsonWriterSettings settings = JsonWriterSettings.builder()
.int64Converter((value, writer) -> writer.writeNumber(value.toString())).build();
document.toJson(settings); // The output would contain simple long value
Sé que es obsoleto el método toJson
Método @medTech toJson no está en desuso por favor consulte la documentación oficial del documento aquí . Además, para JSON ajustes escritor en el enlace.