Scala MongoDB Casbah нужно построить динамический $ или запрос - PullRequest
1 голос
/ 26 января 2012

Использование 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>  

Как мненайти все документы с именем, равным записи в моем списке, с помощью одного оператора single MongoDBCollection.find ()?(т.е. используя $ or)

Спасибо, - Дон

1 Ответ

0 голосов
/ 28 января 2012

MongoDB имеет условный оператор $in, который позволяет проверить, находится ли значение поля в списке значений ( документация )

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

В Casbah это будет выглядеть как

collection.find("name" $in names)
...