2012-01-26 2 views
1

Использование 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() заявление? (Т.е. используя $ или)

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

ответ

0

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

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

В Крепости этой будет выглядеть

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

для того, чтобы это работало, вы должны: импорт com.mongodb.casbah.Imports._ –

Смежные вопросы