为什么$eq的行为与卡斯巴哈的$ne不同?
import com.mongodb.casbah.Imports._
object O{
val x = "user" $ne "bwmcadams" // Compile fine
val y = "user" $eq "bwmcadams" // fails to compile: value = is not a member of string
}
内置:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>casbah-core_2.10</artifactId>
<version>2.6.0</version>
</dependency>
$eq
运算符是在更高版本的卡斯巴哈中添加的。 尝试将卡斯巴哈版本更改为 2.6.3。
与其$eq
,不如尝试->
(作为常规元组)。MongoDB中没有$eq
运算符:http://docs.mongodb.org/manual/reference/operator/query/- 相等是默认运算符。
更新:看起来他们已经删除了从元组到 DBObjects 的转换。尝试常规地图:
val y: DBObject = Map("user" -> "bwmcadams")
更新2:请参阅cmbaxter的答案--他们确实添加了$eq
作为运算符~2013年7月,但您实际上不需要使用它。