初始化为 MongoCursor
Initialize to MongoCursor
我需要一个var
(下面的res
)来接受find()
的答案,即MongoCursor
,因为我必须能够访问我的var inside if
-条件(见下文)。
这是我正在做的事情:
var query = new MongoDBObject()
val res = ""
if ("condition_1" == field_1))
{
query += "field" -> "t"
if ("condition_2" == "field_2"))
{
res = collection.find(q).sort("basic_field" -> 1)
}
else if ("condition_2" == "field_2"))
{
res = collection.find(q).sort("important_field" -> -1).limit(101)
}
}
//Perform some operations on res
如何初始化我的 res
以接受 MongoCursor
?
var res = MongoCursor
和 var res = DBCursor
不起作用。
var res: MongoCursor = _
这会将默认值分配给 res(可能为空)。
但是您应该尽可能避免使用 var。
因为在 scala if can return 结果中,可以直接将结果分配给 res,例如:
val res = if ("condition_1" == field_1)) {
query += "field" -> "t"
if ("condition_2" == "field_2")) {
collection.find(q).sort("basic_field" -> 1)
} else if ("condition_2" == "field_2")) {
collection.find(q).sort("important_field" -> -1).limit(101)
}
}
我需要一个var
(下面的res
)来接受find()
的答案,即MongoCursor
,因为我必须能够访问我的var inside if
-条件(见下文)。
这是我正在做的事情:
var query = new MongoDBObject()
val res = ""
if ("condition_1" == field_1))
{
query += "field" -> "t"
if ("condition_2" == "field_2"))
{
res = collection.find(q).sort("basic_field" -> 1)
}
else if ("condition_2" == "field_2"))
{
res = collection.find(q).sort("important_field" -> -1).limit(101)
}
}
//Perform some operations on res
如何初始化我的 res
以接受 MongoCursor
?
var res = MongoCursor
和 var res = DBCursor
不起作用。
var res: MongoCursor = _
这会将默认值分配给 res(可能为空)。
但是您应该尽可能避免使用 var。 因为在 scala if can return 结果中,可以直接将结果分配给 res,例如:
val res = if ("condition_1" == field_1)) {
query += "field" -> "t"
if ("condition_2" == "field_2")) {
collection.find(q).sort("basic_field" -> 1)
} else if ("condition_2" == "field_2")) {
collection.find(q).sort("important_field" -> -1).limit(101)
}
}