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. 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. –
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
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. –