查询另一个字段中的字段

Querying for a field inside another

我在 myDb.myCollection 中得到了这份文件:

"_id" : ObjectId("55fc0ec8666292b85178c180"),
"firstname" : "george",
"surname" : "abitbol",
"data" : {
    "a" : "secret value",
    "b" : "4"
},
"tags" : "[t]"

如何查询 data 中的 b 字段等于 "4"

我试过这个:

val r = myCollection.find({"data.b" -> "4"})

for (d <- r)    
println (d)

但这是我得到的错误:

No implicit view available from (String, String) => com.mongodb.casbah.commons.TypeImports.DBObject.

您应该导入以下语句-

import com.mongodb.casbah.Imports._
import com.mongodb.casbah.commons.MongoDBObject

你应该使用类似这样的查询:

collection.find(MongoDBObject("data.a" -> "4"))