第一种:
val queryConditions = new BasicDBObject
queryConditions.put("nginxInTime",nginxInTime)
queryConditions.put("epoch",new Integer(epoch))
queryConditions.put("ip",ip)
queryConditions.put("session",session)
val res = collection.find(queryConditions)
res.forEach(new Block[Document] {
def apply(t: Document): Unit = {
println(t) //打印整条记录
}
})
第二种:where语句
// val ageStr = s"function (){return parseFloat > 20 && parseFloat(this.age) <= 40};"
val conditionStr = s"function(){ return nginxInTime = ${nginxInTime} && epoch = ${epoch} && ip = ${ip} && session = ${session} };"
val cond = new BasicDBObject
cond.put("$where", conditionStr)
val res = collection.find(conditionStr)
res1.forEach(new Block[Document] {
def apply(t: Document): Unit = {
println(t) //打印整条记录
}
})
第三种:
val query = new BasicDBObject()
query.put("nginxInTime",new BasicDBObject("$eq",nginxInTime))
query.put("epoch",new BasicDBObject("$eq",new Integer(epoch)))
query.put("ip",new BasicDBObject("$eq",ip))
query.put("session",new BasicDBObject("$eq",session))
val res:FindIterable[Document] = collection.find(query)
while (iterator.hasNext){
val doc = iterator.next()
println(doc.get("reqCount"))
println(doc.get("bizErrorCount"))
println(doc.get("sysErrorCount"))
println(doc.get("maxRespTime"))
println(doc.get("minRespTime"))
println(doc.get("in"))
println(doc.get("out"))
}