2014-10-06 16 views
5

i i with.I kann database.But Sammlung verbinden arbeitete Sammlung in mongodb mit java.The unter dem Code erstellt werden soll ist mir nicht happening..please helfenerstellen Sammlung in MongoDB mit Java

import com.mongodb.MongoClient; 
    import com.mongodb.DB; 
    import com.mongodb.DBCollection; 

    public class CreateCollection{ 

    public static void main(String args[]){ 
     try{ 

     // To connect to mongodb server 
     MongoClient mongoClient = new MongoClient("localhost" , 27017); 

     // Now connect to your databases 
     DB db = mongoClient.getDB("cms"); 
     System.out.println("Connect to database successfully"); 

     DBCollection school = db.createCollection("college"); 
     System.out.println("Collection mycol created successfully"); 

     }catch(Exception e){ 
     System.err.println(e.getClass().getName() + ": " + e.getMessage()); 
     } 
    } 
    } 
+0

Sind Sie einen Fehler bekommen? –

+0

ya ich bekomme Fehler in der Zeile DBCollection school = db.createCollection ("College"); wie erforderlich: String, DBObject, aber gefunden: String – user3219005

+0

könnten Sie DBCollection versuchen school = db.createCollection ("college", null); –

Antwort

10

In der Tat haben Sie einen Kompilierungsfehler.

Sie sollten db.getCollection("college") verwenden, die die Sammlung erstellt, wenn nicht vorhanden ist.

Auch die Sammlung wird faul erstellt, wenn Sie etwas hinzufügen.

können Sie hinzufügen:

school.save(new BasicDBObject("key" , "value"));

Die Sammlung mit einem einzigen Dokument wird dann erstellt werden.

+0

Ich möchte nicht Dokument einfügen, ich möchte Sammlung erstellen – user3219005

+1

Nun, wie gesagt, es ist nicht wirklich erstellt, wenn du gibst nichts dazu. Es macht keinen Sinn, eine Sammlung zu erstellen, wenn Sie nichts hinzufügen. Wenn Sie darauf bestehen, können Sie das Dokument erstellen, gefolgt von einem 'remove'-Vorgang. Dann sehen Sie die leere Sammlung –

+0

eigentlich ist mein Ziel, leere Sammlung zu erstellen, in der ich Dokument von externen Benutzereintrag von UI einfügen werde – user3219005

0

Ich musste gerade eben diese Sache machen.

Hier ist, was ich verwendet (angepasst auf Ihre Frage):

String collectionName = "college"); 

if(!db.collectionExists(collectionName) 
{ 
    //I can confirm that the collection is created at this point. 
    DBCollection school = db.createCollection(collectionName, new BasicDBObject());  
    //I would highly recommend you check the 'school' DBCollection to confirm it was actually created 
    System.out.println("Collection %s created successfully", collectionName); 
} 
2

Hier bin ich teilen den Arbeitscode

import com.mongodb.MongoClient; 
import com.mongodb.MongoException; 
import com.mongodb.WriteConcern; 
import com.mongodb.DB; 
import com.mongodb.DBCollection; 
import com.mongodb.BasicDBObject; 
import com.mongodb.DBObject; 
import com.mongodb.DBCursor; 
import com.mongodb.ServerAddress; 
import java.util.Arrays; 

public class MongoDBCollection 
{ 

public static void main(String args[]) 
{ 
try 
{ 
//Connect to Database 
MongoClient mongoClient=new MongoClient("localhost",27017); 
DB db=mongoClient.getDB("analytics"); 
System.out.println("Your connection to DB is ready for Use::"+db); 

//Create Collection 

DBCollection linked=db.createCollection("LinkedIn",new BasicDBObject()); 
System.out.println("Collection created successfully"); 

} 

catch(Exception e) 
{ 
System.out.println(e.getClass().getName()+":"+e.getMessage()); 

} 

} 


}