我有val maxId = new ObjectId(...)
并且我想查询这样的内容:collection.find("_id" $lte maxId)
. 这是编译失败,因为ObjectId
不包含适当的 trait ValidDateOrNumericType
。如何通过比较对象的 ID 来正确查询对象?
在 Mongo shell 中,这似乎是可能的:
> db.test.find({"_id": {$lte: ObjectId("4e825d2f84ae30e970bc0f95")}})
{ "_id" : ObjectId("4e82540684ae236af6e72177")}
{ "_id" : ObjectId("4e825baa84aea840b82e0278")}
...
>
也可以使用 Java 驱动程序:
query.put("_id", new BasicDBObject("$lte", new ObjectId("4e825d2f84ae30e970bc0f95")))
这对Casbah可行吗?