2012-01-26 41 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._ –