2014-10-06 16 views
5

tôi muốn tạo bộ sưu tập trong MongoDB sử dụng java.The dưới đây là đoạn code tôi làm việc with.I có thể kết nối với database.But Bộ sưu tập không phải là happening..please giúp tôiTạo bộ sưu tập trong MongoDB Sử dụng 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

Bạn có nhận được bất kỳ lỗi? –

+0

ya im nhận được lỗi trong dòng DBCollection school = db.createCollection ("college"); theo yêu cầu: String, DBObject nhưng được tìm thấy: String – user3219005

+0

bạn có thể thử DBCollection school = db.createCollection ("college", null); –

Trả lời

10

Thật vậy, bạn có lỗi biên dịch.

Bạn nên sử dụng db.getCollection("college") để tạo bộ sưu tập nếu không tồn tại.

Ngoài ra, bộ sưu tập được tạo ra một cách lười biếng khi bạn thêm thứ gì đó vào đó.

Bạn có thể thêm:

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

Bộ sưu tập với một tài liệu duy nhất sẽ được tạo ra sau đó.

+0

Tôi không muốn chèn tài liệu jus tôi muốn tạo bộ sưu tập – user3219005

+1

Vâng, như đã nói, nó không thực sự được tạo ra nếu bạn không đặt bất cứ thứ gì vào nó. Không có vấn đề gì trong việc tạo bộ sưu tập nếu bạn không đặt bất kỳ thứ gì. Nếu bạn nhấn mạnh bạn có thể tạo tài liệu, theo sau là thao tác 'remove'. Sau đó, bạn sẽ thấy bộ sưu tập rỗng –

+0

thực sự mục tiêu của tôi là tạo bộ sưu tập trống trong đó tôi sẽ chèn tài liệu từ mục nhập người dùng bên ngoài từ giao diện người dùng – user3219005

0

Tôi vừa mới cần làm điều này.

Đây là những gì tôi đã sử dụng (phù hợp với câu hỏi của bạn):

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

Ở đây tôi chia sẻ đoạn code làm việc

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

} 

} 


} 
Các vấn đề liên quan