2013-08-20 3 views
0

mongo mongo java 드라이버 버전 2.11.2를 사용하고 있습니다. 몇 가지 문서를 dbin mongodb에 넣고 싶습니다. 커맨드 라인에서 모든 작업을 해보려고합니다. 하지만 mongo java 드라이버를 사용하면 작동하지 않습니다. BasicDBObject을 사용하여 문서를 채 웁니다. 하지만 collection.insert(BasicDBObject).getN()은 항상 0입니다. 아무것도 컬렉션에 삽입되지 않습니다. 내가 여기서 뭔가를 놓치고 있니? 어떤 업데이트이 후 DB에 이루어지지 않습니다mongodb java 드라이버를 사용하여 문서를 컬렉션에 삽입 할 수 없습니다.

mongo = new MongoClient("localhost", 27017); 
DB db = mongo.getDB("db"); 
DBCollection collection = db.getCollection("collection"); 
BasicDBObject o = new BasicDBObject(); 
o.put("key1", "value1"); 
o.put("key2", "value2"); 
collection.insert(o); 

:

코드를 추가.

+0

는 자세한 내용이 필요합니다. 어떤 오류가 보이십니까? – basav

+0

getError()의 결과를 반환 된 WriteResult에 게시하십시오. – uldall

+0

getError()가 null을 제공합니다. – coder

답변

1

삽입의 getlasterror에서 'n'값은 항상 0입니다. 합니다 ('N'값은 WriteResult.getN()가 반환하는 것입니다.)

이 MongoDB를 락스 티켓 참조 : https://jira.mongodb.org/browse/SERVER-4381합니다. 새로운 삽입, 업데이트, 제거 메커니즘보다 우선적으로 닫혀있는 기능 : https://jira.mongodb.org/browse/SERVER-9038

길게 부족합니다. 당신은 미친 것이나 아무것도 놓치지 않았습니다. MongoDB의 "기능"으로, 2.6 버전으로 최종 수정 될 것으로 기대됩니다.

Rob.

편집 :

나는 당신의 예를 수정

약간 저장된 문서를 인쇄합니다. 귀하의 환경에서이 버전을 실행할 수 있습니까? 내 컴퓨터에

import java.net.UnknownHostException; 

import com.mongodb.BasicDBObject; 
import com.mongodb.DB; 
import com.mongodb.DBCollection; 
import com.mongodb.DBObject; 
import com.mongodb.MongoClient; 
import com.mongodb.WriteConcern; 

public class StackOverFlow { 

    public static void main(String[] args) throws UnknownHostException { 
     MongoClient mongo = new MongoClient("localhost:27017"); 
     DB db = mongo.getDB("db"); 
     DBCollection collection = db.getCollection("collection"); 
     BasicDBObject o = new BasicDBObject(); 
     o.put("key1", "value1"); 
     o.put("key2", "value2"); 
     collection.insert(WriteConcern.SAFE, o); 

     for (DBObject doc : collection.find()) { 
      System.out.println(doc); 
     } 
    } 
} 

는 출력 :

{ "_id" : { "$oid" : "5235f98495302901eb70e7a4"} , "key1" : "value1" , "key2" : "value2"} 
+0

해결책은 무엇입니까? 내 Java 응용 프로그램의 콜렉션에 문서를 어떻게 삽입합니까? – coder

+0

"SAFE"(또는 그 이상) 글쓰기 문제를 사용하고 질문에 포함 된 삽입 호출이 예외를 발생시키지 않으면 삽입이 작동합니다. WriteResult.getN()은 항상 0입니다. –

+0

SAFE 및 기타 많은 쓰기 문제로 삽입을 시도했습니다. 그들 중 누구도 일하고 ​​있지 않습니다. 예외가 발생하지 않습니다. 하지만 여러 문서를 삽입 한 후에도 내 컬렉션은 여전히 ​​비어 있습니다. – coder

관련 문제