Я использую драйвер для MongoDB. У меня проблема с получением записи из MongoDB.
Ниже приведена моя инициализация MongoDB
private val client: MongoClient = MongoClient()
private val database: MongoDatabase = client.getDatabase(“rulemgntdb”)
val WorkOrdercollection: MongoCollection[Document] = database.getCollection("workOrder")
Поиск запроса:
MongoFactory.WorkOrdercollection.find().collect().subscribe(
(results: Seq[Document]) =>
println(s”Found: #${results}“)
)
Результаты напечатаны так:
Found: #List(Document((_id,BsonString{value=‘5af153f49547a205f9798129’}), (workOrderId,BsonString{value=‘9a9e1ce8-c576-4a15-a1ff-4af780b14b7f’}), (thingId,BsonString{value=‘Mumbai_Robot_3’}), (alertId,BsonString{value=‘Alert_1’}), (description,BsonString{value=‘Robot is not in good condition’}), (lastViewedDate,BsonDateTime{value=1525781377952}), (suggestedMaintenanceDate,BsonDateTime{value=1525781377952}), (startDate,BsonDateTime{value=1525781377952})))
Я хочу сопоставить этот документ с моим классом Case.
Класс дела похож на:
case class WorkOrder (
var id : String = (new ObjectId()).toString(),
var workOrderId: String,
var thingId : String,
var alertId : String,
var description : String,
val lastViewedDate : Date,
val suggestedMaintenanceDate : Date,
val startDate : Date
)
Если я получу следующее для получения строки JSON из документа:
MongoFactory.WorkOrdercollection.find(query).subscribe(
(user: Document) => println(user.toJson()), // onNext
(error: Throwable) => println(s"Query failed: ${error.getMessage}"), // onError
() => println("Done") // onComplete
)
Тогда я получу следующую строку JSON:
{ “_id” : “5af153f49547a205f9798129", “workOrderId” : “9a9e1ce8-c576-4a15-a1ff-4af780b14b7f”, “thingId” : “Mumbai_Robot_3", “alertId” : “Alert_1", “description” : “Robot is not in good condition”, “lastViewedDate” : { “$date” : 1525781377952 }, “suggestedMaintenanceDate” : { “$date” : 1525781377952 }, “startDate” : { “$date” : 1525781377952 } }
Я могу разобрать строку JSON в классе дел, но ... Посмотрите на “startDate” : { “$date” : 1525781377952 }
Я не могу разобрать дату MongoDB в scala Дата
Как мне сопоставить документ с классом Case?