2012-10-04 4 views
2

콜렉션에 1MB 또는 300 개의 콜렉션 중 첫 번째 콜렉션을 지정하려고했습니다.MongoDB 캐핑 된 콜렉션 콜렉션 없음

PRIMARY>db.runCommand({"convertToCapped":"cache",'size':1024*1024, 'max':300}); 
{ "ok" : 1 } 
PRIMARY>db.cache.isCapped(); 
true 

지금까지 그렇게 좋았습니다. 나중에 내가 다시 확인하는 동안 컬렉션을 조금 사용 후 A는, (새 레코드가 삽입 등)

PRIMARY> db.cache.count(); 
513 

음, 뭐? 마지막으로 나는 카운트가이 출력을 읽기에서 나는 좋은 아니에요 (300)

PRIMARY> db.cache.validate(); 
{ 
"ns" : "streamified.cache", 
"capped" : 1, 
"max" : 2147483647, 
"firstExtent" : "16:7279e000 ns:streamified..tmp.convertToCapped.cache", 
"lastExtent" : "16:7279e000 ns:streamified..tmp.convertToCapped.cache", 
"extentCount" : 1, 
"datasize" : 858104, 
"nrecords" : 513, 
"lastExtentSize" : 1052672, 
"padding" : 1, 
"firstExtentDetails" : { 
    "loc" : "16:7279e000", 
    "xnext" : "null", 
    "xprev" : "null", 
    "nsdiag" : "streamified..tmp.convertToCapped.cache", 
    "size" : 1052672, 
    "firstRecord" : "16:7279e0b0", 
    "lastRecord" : "16:72871444" 
}, 
"deletedCount" : 1, 
"deletedSize" : 186184, 
"nIndexes" : 0, 
"keysPerIndex" : { 

}, 
"valid" : true, 
"errors" : [ ], 
"warning" : "Some checks omitted for speed. use {full:true} option to do more thorough scan.", 
"ok" : 1 
} 

를 초과하기 전에 실행 된 "캐핑"고, 513> (300) 참고를 확인하지만, "최대"값은 위를 본다 조금 이상하다. 그 외에도 무엇이 잘못 될 수 있는지 잘 모르겠습니다 ...

답변

3

convertToCapped 메소드에서 max 옵션이 지원되지 않는 것 같습니다.

문서에 언급되지 않았습니다. http://docs.mongodb.org/manual/reference/command/convertToCapped/

max는 새로운 컬렉션의 옵션 일뿐입니다.

+0

아, 나는 그것을 놓쳤다. 참으로 부끄럽지만 몽구스 2.7.1의 버그로 인해 정의 된 시간에 제한 량이있는 콜렉션을 만들지 못하기 때문에 Capped Collections를 사용할 수있는 능력이 완전히 사라집니다. –