我一直在尝试使用 reactivemongo 将一些文档插入到具有一些 BSON 类型的 mongodb 集合中。
我正在使用 Play JSON 库来解析和操作扩展 JSON中的一些文档,这是一个示例:
{
"_id" : {"$oid": "5f3403dc7e562db8e0aced6b"},
"some_datetime" : {
"$date" : {"$date": 1597841586927}
}
}
我正在使用reactivemongo-play-json
,因此我必须导入以下内容,以便在将其传递给时JsObject
自动将其转换为 reactivemongoBSONDocument
collection.insert.one
import reactivemongo.play.json.compat._
import json2bson._
不幸的是,一旦我打开我的 mongo shell 并查看我刚刚插入的文档,结果如下:
{
"_id" : ObjectId("5f3403dc7e562db8e0aced6b"),
"some_datetime" : {
"$date" : NumberLong("1597244282116")
},
}
只有_id
被理解为使用扩展 JSON 描述的 BSON 类型,并且我希望该some_datetime
字段类似于 a ISODate()
,就像我希望看到UUID()
-type 值而不是它们的扩展 JSON 描述一样,如下所示:
{'$binary': 'oKQrIfWuTI6JpPbPlYGYEQ==', '$type': '04'}
如何确保此扩展 JSON 实际转换为正确的 BSON 类型?