Scala MongoDB Casbah需要构建动态$或查询

时间:2012-01-26 03:16:37

标签: casbah mongodb-scala

使用Scala,MongoDB,Casbah。

给出一个随机的字符串列表:

  val names = {
    val listBuffer = new ListBuffer[String]
    for(n <- 1 to (new Random().nextInt(5) + 1)){
      val name = ((new Random().nextInt(26) + 65).asInstanceOf[Char]).toString
      listBuffer += name
    }
    listBuffer.toList
  }

给定MongoDB文档结构:

"_id": <uuid>  
"name": <string>  

如何使用单个单个 MongoDBCollection.find()语句查找名称与列表中的条目相同的所有文档? (即使用$或)

谢谢, - 唐

1 个答案:

答案 0 :(得分:0)

MongoDB有条件运算符$in,可以测试字段的值是否在值列表中documentation

collection.find({name: {$in: ["aaa", "bbb", "ccc"]}})

在Casbah,这看起来像

collection.find("name" $in names)