MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Keine implizite Ansicht verfügbar

Die Methode insert nimmt jede Liste, aber um die Daten in Mongo zu speichern, muss casbah sie in DBObject konvertieren. Dazu verwendet es eine implizite Konvertierung, die in Casbah für verschiedene Datentypen verfügbar ist. Für die Daten, die Sie einzufügen versuchen, ist jedoch keine Konvertierung implementiert oder in Ihrem Bereich verfügbar. Um dies zu lösen, importieren Sie entweder den impliziten Konverter oder implementieren Sie einen.

In Ihrem Fall fehlt möglicherweise ein Import. Stellen Sie sicher, dass Sie Folgendes erhalten haben:

import com.mongodb.casbah.Imports._

und versuchen Sie, listObjects zu ersetzen von MongoDBList(listObjects:_*)

BEARBEITEN:

Um auf Ihren Kommentar zu antworten, versuchen Sie es mit REPL:

scala> val a = List(1,2,3,4,5,6)
a: List[Int] = List(1, 2, 3, 4, 5, 6)

scala> List(a:_*)
res0: List[Int] = List(1, 2, 3, 4, 5, 6)

scala> List(a)
res1: List[List[Int]] = List(List(1, 2, 3, 4, 5, 6))

Der :_* erhält die Elemente anstelle der Liste und vermeidet die Erstellung einer List of List.