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
}
}
我没有找到使用 casbah
在 scala
中查询对应于 id_thing -> -1
和 data.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)
希望对您有所帮助。
我正在尝试构建一个 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
}
}
我没有找到使用 casbah
在 scala
中查询对应于 id_thing -> -1
和 data.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)
希望对您有所帮助。