Frage von aspirat2110, 65

Warum findet mein Android Studio mit MongoDB collection.insert(doc) nicht?

Hallo, ich habe vor ein paar Tagen damit angefangen mit Java, für Android, eine App zu schreiben, das auf eine Remote-MongoDB-Datenbank verbindet. Für Windows/Linux habe ich das ganze schon in Python gemacht. In Java kann ich allerdings nichts in Datenbanken einfügen (Cannot resolve symbol 'insert'). Mein Code bisher: http://pastebin.com/UCKDQaSq Wenn ich auf 'Run' klicke, kommt immer nur "Gradle build finished with 3 error(s) in 9s 332ms" und dort wo "collection.insert(doc);" steht kommen folgende Fehlermeldungen: "Error: expected" (2x) einmal für das ".insert" und einmal für "doc" (Unknown class: 'doc'). Ich habe jetzt schon Stunden gegooglet, wie ich das beheben kann, es kam leider nichts bei raus. Weiß einer woran das liegen könnte?

Antwort
von heilwigkenner, 29

Um welche Zeilen geht es? Was ist der genaue Stacktrace?

Btw: Warum eine MongoDB für Android? Verwende lieber eine SQLite-Datenbank.

Kommentar von aspirat2110 ,

Es geht um Zeile 28.

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Error:(38, 16) error: <identifier> expected
Error:(38, 20) error:  <identifier> expected

Das ist das einzige, das ausgegeben wird.

MongoDB, weil ich auch schon in dem Python Programm MongoDB benutzt habe, und das Programm und die App auf die selbe Datenbank zugreifen sollen.

Kommentar von heilwigkenner ,

Es liegt daran, dass die Klasse MongoCollection keine Funktion insert hat. 

Verwende MongoCollection#insertOne oder MongoCollection#insertMany - siehe https://api.mongodb.com/java/3.2/com/mongodb/async/client/MongoCollection.html .

Kommentar von aspirat2110 ,

Ich habe jetzt einfach "collection.insert(doc);" durch collection.insertOne(doc);" ersetzt, es kommt aber immernoch der selbe Fehler.

Antwort
von aspirat2110, 5

Habe es hinbekommen:

einfach ein try...catch um den Zugriff auf MongoDB schreiben.

Keine passende Antwort gefunden?

Fragen Sie die Community