Multi-field scala/casbah 查询

Multi-field scala/casbah query

我正在尝试构建一个 multi-field 查询。

我的 collection 由很多文档组成,如下所示:

{
    "_id" : ObjectId("5601711160b2abcf7ff24b46"),
    "id_a" : "43d366a9-a39b-4d49-98ce-369739471b6b",
    "id_thing" : -1,
    "data" : {
        "info1" : 36.0709427,
        "date" : "2005-11-01T00:33:21.987+07:00",
        "info2" : 24563.87148077
    }
}

我没有找到使用 casbahscala 中查询对应于 id_thing -> -1data.info1 -> 36.0709427.

的文档的方法

注意:我不知道如何将 ISODate 推送到数据库。

您应该使用 MongoDBObject 来形成查询并将其传递给 find 方法,如下所示:

//create mongo connection. This might be different in your case
val server = MongoClientURI("mongodb://localhost:27017")
private val client = MongoClient(server)
val database = client(DATABASE)
//This is what you require
val collection = ScalaMongoFactory.database("collectionName")
val cursor = collection.find(MongoDBObject("id_thing" -> -1,"data.info1" -> 36.0709427)).toList

println("output: " + cursor)

希望对您有所帮助。