2010-11-30 13 views
1

Je suis nouveau à Mongo DB Je dois l'implémenter en java. Je suis allé à travers des diapositives mais je suis confus ce qui se passe. J'ai exécuté un petit programme java en utilisant mongo DB mais ça ne marche pas?Mongo DB unknown Erreur?

Mon code java:

public class MongoDbTesting { 

    public void connectingMongo() throws UnknownHostException, MongoException{ 
    Mongo m = new Mongo("localhost" , 27017); //mongo object 
    DB db = m.getDB("todo"); 
    System.out.println("Connected"); 
    //making a collection object which is table when compared to sql 
    DBCollection items = db.getCollection("items"); 
    System.out.println("items got"); 

    //to work with document we need basicDbObject  
    BasicDBObject query = new BasicDBObject(); 
    System.out.println("Created mongoObject"); 
    //insert in mongo 
    query.put("priority", "highest"); 
    items.insert(query); 
    System.out.println("Inserted");  
     //Cursor, which is like rs in sql 
    DBCursor cursor = items.find(); 
    System.out.println("items got"); 
    //print highest priority items 

    while(cursor.hasNext()){ 
     System.out.println(cursor.hasNext()); 
    } 
    } 
    } 

La sortie est: il devient imprimé en continu comme

vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai vrai

Je ne peux pas comprendre ce qui se passe. je veux insérer des données dans la collection "articles" aussi si je veux savoir comment utiliser Mongo en Java. Je sais bien mysql mais en changeant de mongo je ne peux pas rapporter les deux dans les questions. Que fait "query.put"? Des suggestions s'il vous plaît?

Répondre

2

Vous avez vous-même une boucle infinie parce que vous avez oublié d'appeler cursor.next() dans la boucle while.

+0

désolé que vous avez raison. Merci pour votre réponse rapide. –

+0

@ Leo-vin, pourriez-vous marquer la réponse comme une réponse acceptée? Merci :) – rawpower

+0

J'ai essayé mais son dire que je dois attendre 3 minutes pour accepter une réponse. donc seulement. Pardon. Encore 1 min à faire. S'il vous plaît. –

1

Vous devez utiliser:

System.out.println(cursor.next()); 

plutôt que

System.out.println(cursor.hasNext()); 

...

+0

merci d'avoir raison. ça fonctionne bien. –

+0

+1 et si j'ai une option pour marquer les deux, j'ai raison de le faire, mais mes mains sont liées. Désolé. –