2012-11-08 2 views
9

출장 I I 나열된 방법을 사용하여 Capped Collection로 변환 할 필요가 기존의 콜렉션이 있습니다설정 최대는 수집

> db.runCommand({"convertToCapped": "mycoll", size: 100000}); 

그러나, 최대 필드가 매개 변수

> db.mycol1.convertToCapped 
function (bytes) { 
    if (!bytes) { 
     throw "have to specify # of bytes"; 
    } 
    return this._dbCommand({convertToCapped: this._shortName, size: bytes}); 
} 
으로 인정되지 않습니다

어떻게 설정해야할까요?

답변

6

최대가 createCollection 방법 만 옵션입니다, convertToCapped하지 :

db.createCollection("mycoll", {capped:true, size:100000, max:100}); 

거기에 cloneCollectionAsCapped는하지만 최대 문서 옵션이있다처럼은 보이지 않는 중 하나 http://docs.mongodb.org/manual/reference/command/cloneCollectionAsCapped/

당신은 할 수있다 max 매개 변수를 사용하여 새로운 capped 컬렉션을 만들고 기존 컬렉션에서 데이터와 인덱스를 전송해야합니다. http://learnmongo.com/posts/easily-move-documents-between-collections-or-databases/

+0

모든 데이터를 이동하지 않고 컬렉션의 속성을 편집해야하는 것처럼 보입니다. 중간 크기의 ~ 30m 문서 모음에 대해 이야기하고 있으므로 더 직접적인 방법을 선호합니다. – trimbletodd