为什么$eq的行为与卡斯巴哈的$ne不同

  • 本文关键字:不同 ne 卡斯 eq scala casbah
  • 更新时间 :
  • 英文 :


为什么$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月,但您实际上不需要使用它。