2010-11-10 12 views
-4

Je suis en train d'effectuer des opérations CRUd dans mongodb et scala .. J'ai écrit le code suivant.Ce code compile avec succès, mais donnant l'exception d'exécution.J'utilise scala 2.8.can un 1 m'aider?comment supprimer MongoInternalException

Erreur lors de l'exécution:

Exception dans le thread "principal" com.mongodb.MongoInternalException: DBPort.findOne n'a pas à com.mongodb.DBPort.findOne (DBPort.java:153) à com. mongodb.DBPort.runCommand (DBPort.java:159) à com.mongodb.DBTCPConnector.testMaster (DBTCPConnector.java:369) à com.mongodb.Mongo. (Mongo.java:140) à com.mongodb.Mongo . (Mongo.java:124) à com.mongodb.Mongo. (Mongo.java:81) à QuickTour.main (QuickTour.java:16) Causé par: java.io.IOException: impossible de se connecter à [/127.0.0.1:8005] bc: java.net.ConnectException: connexion refusée: se connecter à com.mongodb.DBPort._open (DBPort.java:205) à com.mongodb.DBPort.go (DBPort.java:85) à com.mongodb.DBPort.findOne (DBPort.java:145) ... 6 plus
// crud.scala 

import com.mongodb.BasicDBObject; 
import com.mongodb.DB; 
import com.mongodb.DBCollection; 
import com.mongodb.DBCursor; 
import com.mongodb.Mongo; 

object crud 
{ 
    def main(args:Array[String]) 
    { 
    while(true) 
    { 
     println("") 
     println("1.Insert ") 
     println("2. Retriever ") 
     println("3. Update") 
     println("4. Delete") 
     println("5. Exit") 
     println("") 
     println("Enter choice : ") 

     val ch=Console.readInt 

     ch match 
     { 
     case 1=> 
      insert(); 
     case 2=> 
      retrieve() ; 
     case 3=> 
      update(); 
     case 4=> 
      delete(); 
     case 5=> 
      System.exit(0) 
     } 
    } 
    } //main 

    def insert() 
    { 
    println("Enter the rollno") 
    var roll=Console.readInt 

    println("Enter the name") 
    var name=Console.readLine 

    println("Enter the age") 
    var age=Console.readInt 

    println("Enter the city") 
    var city=Console.readLine 

    println("Enter the marks") 
    var marks=Console.readInt 

    val mongo = new Mongo(); 

    var databaseName = mongo.getDB("mydb") 
    var collectionName = databaseName.getCollection("student") 
    val dbObject = new BasicDBObject() 
    dbObject.put("rollno", "roll") 
    dbObject.put("name", "name") 
    dbObject.put("age", "age")   
    dbObject.put("city", "city")   
    collectionName.insert(dbObject); 
    println("Inserted succesfully"); 
    } 

    def retrieve() 
    { 
    println("Enter the rollno") 
    var r=Console.readInt 
    val mongo = new Mongo() 

    var databaseName = mongo.getDB("mydb") 
    var collectionName = databaseName.getCollection("student") 

    val query=new BasicDBObject(); 
    val query1=new BasicDBObject(); 
    query.put("marks",new BasicDBObject("$gt","70")); 
    var cursor = new DBCursor(collectionName,query,query1) 
    println("The list of students is") 
    while(cursor.hasNext) 
    { 
     println(cursor.next()); 
    } 
    } //retrieve 

    def update() 
    { 
    println("Enter the rollno of student to be updated") 
    var no=Console.readInt 

    val mongo = new Mongo() 

    var databaseName = mongo.getDB("mydb") 
    var collectionName = databaseName.getCollection("student") 
    val query=new BasicDBObject(); 
    val query1=new BasicDBObject(); 
    query.put("rollno",new BasicDBObject("$eq",no)); 
    var cursor = new DBCursor(collectionName,query,query1) 
    } 

    def delete() 
    { 
    println("Enter the rollno of student to be deleted") 
    var no=Console.readInt 

    val mongo = new Mongo() 
    var databaseName = mongo.getDB("mydb") 
    var collectionName = databaseName.getCollection("student") 
    val query=new BasicDBObject(); 
    val query1=new BasicDBObject(); 
    query.put("rollno",new BasicDBObject("$eq",no)); 
    var cursor = new DBCursor(collectionName,query,query1) 

    while(cursor.hasNext) 
    { 
     collectionName.remove(cursor.next()) 
    } 
    } //delete 
} 
+1

1. Apprenez à lire une trace de pile. 2. Ne jetez pas votre code en si gros morceaux dans la question - il est extrêmement peu probable que quelqu'un veuille lire cela. –

+0

Vous êtes beaucoup plus susceptible d'obtenir une réponse si vous faites l'effort de formater le code afin qu'il soit lisible. Je l'ai fait pour toi cette fois. – Theo

+0

Vous êtes beaucoup plus susceptible d'obtenir des réponses utiles ici si vous lisez (et suivez) la FAQ: http://stackoverflow.com/faq. En particulier, voir «Soyez gentil», «Comment poser des questions ici?» Et «Et si je ne reçois pas une bonne réponse?». Bienvenue à SO. –

Répondre

2

L'erreur dit " Impossible de se connecter à [/127.0.0.1:8005] "Vous pouvez commencer par vous assurer que MongoDB est en cours d'exécution et qu'il s'exécute sur ce port. Le port MongoDB standard est 27017.

+0

ya theo je l'ai eu – survi