2014-10-06 4 views
5

я хочу, чтобы создать коллекцию в MongoDB используя java.The ниже код я работал with.I может подключиться к database.But коллекции не happening..please помочь мнеСоздать коллекцию в MongoDB Использование 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

Вы получаете какую-либо ошибку? –

+0

ya im получение ошибки в строке DBCollection school = db.createCollection ("college"); по мере необходимости: String, DBObject, но найдено: String – user3219005

+0

вы могли бы попробовать DBCollection school = db.createCollection ("college", null); –

ответ

10

Действительно, у вас есть ошибка компиляции.

Вы должны использовать db.getCollection("college"), который создает коллекцию, если не существует.

Кроме того, коллекция создается лениво, когда вы что-то добавляете к ней.

Вы можете добавить:

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

В коллекции с будет создан, то единый документ.

+0

Я не хочу вставлять документ jus Я хочу создать коллекцию – user3219005

+1

Ну, как сказано, на самом деле это не создается, если вы ничего не вкладываете в это. Нет смысла создавать коллекцию, если вы ничего не ставите. Если вы настаиваете на том, что вы можете создать документ, за которым следует операция 'remove'. Тогда вы увидите пустую коллекцию –

+0

. На самом деле моя цель - создать пустую коллекцию, в которую я буду вставлять документ из внешней пользовательской записи из UI. – user3219005

0

Мне недавно нужно было сделать это.

Вот что я использовал (адаптированный к вашему вопросу):

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

Здесь я делюсь рабочий код

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()); 

} 

} 


} 
Смежные вопросы