2012-06-14 4 views
0

아래 코드 샘플 에서처럼 mongodb 데이터베이스에 하나의 레코드를 반복적으로 저장하는 node.js 응용 프로그램이 있습니다. 데이터 레코드는 실제로 크기가 몇 MB이지만 어느 시점에서든 한 컬렉션에 하나의 레코드 만 있습니다. 그러나 서버의 디스크 공간이 다할 때까지 데이터베이스의 크기는 계속 증가합니다.하나의 레코드로만 MongoDB 데이터베이스가 확장되었습니다.

_db.collection('myCollection', function(err, collection) { 
    collection.remove({}, function(err, result) { 
    collection.insert(myData); 
    }); 
}); 

나는이 데이터를 관리 할 수있는 더 나은 방법이 실현, 단순히 한달 문제를 관리하는 데이터베이스를 몇 번 수리,하지만 난 MongoDB를 자동으로 공간을 확보하지 않을 이유에 정말 궁금해서 이러한 상황에서.

+0

이 (이것은 나에게 보이는입니다) 버그를 reproducin에 대한 샘플 코드가 아니면 그냥 거부 이런 상황에 더 적합한'update'를 사용하고 싶습니까? – elmigranto

+0

정말. 응용 프로그램은 컬렉션에 둘 이상의 레코드를 유지하는 데 사용했지만이 레코드로 축소했습니다. 나는 실제로 여기에 표현 된 버그 (기능)가 있는지 또는 mongodb가 어떻게 작동해야하는지에 대해 내가 놓친 것이 있는지 알아 내고 싶었다. –

답변

1

이 문제를 해결하는 한 가지 방법은 컬렉션에 최대 크기를 설정하는 것입니다. 항상 최대 1 개의 레코드 만 가지므로.

_db.createCollection("myCollection", {size:100000}); 

당신은 여기 MongoDB의 디스크 사용량에 대해 조금 읽을 수 있습니다 : : 이런 식으로 뭔가를 시도 Excessive Disk Space

관련 문제