我使用Casbah for Scala插入/更新MongoDB文档 . 我面临的挑战之一是按日期或ObjectId查询MongoDB文档 . 我的MongoDB文档看起来像

{“_ id”:ObjectId(“58d2cfe5fbb1bb15209d3b02”),“name”:“Joe”,“db_date”:ISODate(“2017-01-26T07:00:00.000Z”)}

我通过objectId搜索MongoDB集合的查询如下所示

for (x <- collection.findOne(MongoDBObject("_id"-> new ObjectId("58d2cfe5fbb1bb15209d3b02")))) println(x)

我按日期搜索MongoDB集合的查询如下所示

val q_date = "ISODATE(" + "2017-01-26T07:00:00.000Z" + ")"
for (x <- collection.findOne(MongoDBObject("db_date"-> q_date))) println(x)

以上两个查询都没有给我结果 . 我在网上查询了示例查询,但找不到一个有用的好例子 . 非常感谢您的回复 .


更新

我可以使用以下查询按日期搜索

val q_date = new DateTime(JodaTime)
for (x <- collection.findOne(MongoDBObject("db_date"-> q_date))) println(x)

我必须包含nscala-time依赖项,并在我的定义对象中添加RegisterJodaTimeConversionHelpers()