2016-04-13 15 views
2

Scala ve MongDB için yeni ve belirli bir kimliğe uyan bir koleksiyondan Records almak istiyorum (C# veya java'da yapmak oldukça kolay bir şey). Fakat Mongo + Scala'da işe yaramayacağım. Benim fonksiyonudur:Scala Alıcı Listesi [String] Denetleyici'den

{"_id":{"$in":["0a416b7d-c3a8-329b-93b9-a7296e2d58d9,817e8aa6-7c60-36a3-9213-9bfcf954e541"]}} 

Ama hiç böyle olmasını istiyorum: nasıl gidilir

{"_id":{"$in":["0a416b7d-c3a8-329b-93b9-a7296e2d58d9","817e8aa6-7c60-36a3-9213-9bfcf954e541"]}} 

Herkes bilir

getBooksFlow(bookId: String, booknodes:List[String]): Future[List[bookResponseModel]] 
= { 
    val mainDB = connection.db(bookId) 
    val bookscollection = mainDB.collection[JSONCollection](booksCollectionString)  
    val query = Json.obj("_id" -> Json.obj("$in"->Json.toJson(booknodes))) 
    var futurebooks = bookscollection.find(query).cursor[bookResponseModel]().collect[List]() 
} 

Bu basılmış sorgu böyle görünüyor bu hak?

cevap

0

Bu sizin booknodes:List[String] sadece bir öğeyi içeren dize listesidir görüntülenir:

List("0a416b7d-c3a8-329b-93b9-a7296e2d58d9,817e8aa6-7c60-36a3-9213-9bfcf954e541") 

Belki bu nesne kimlikleri listesi almak için virgül de booknodes bölün. Yani, sorgu bu gibi görünebilir:

Json.obj("_id" -> Json.obj("$in"->Json.toJson(booknodes.flatMap(_.split(","))))) 
+0

Robert Udah onun İnce çalışma Ama benim veri içeriyorsa (,) benim soru neydi durumu başarısız olan niçin "(yani List gibi verileri receving kontrolör 0a416b7d-c3a8- 329b-93b9-a7296e2d58d9.817e8aa6-7c60-36a3-9213-9bfcf954e541 ") – kittu

+0

' getBooksFlow() 'ifadesi hangi olursa olsun,' booknodes' List'inizin neden virgülle birlikte bir dizesi olduğuna dair bir ipucu verir. 'Booknodes' değerinin atandığı kodun kodunu yayınlamayı düşünüyor musunuz? –

+0

Robert Udah window.location = "/[email protected]& booknodes =" + kitaplar doğrudan kontrol yöntemini ui sayfasından çağırıyorum (hata olduğunu düşündüm) formdan geçerken alternatif olarak kullanıyorum ama pencereyi aradım. konum – kittu