2011-11-07 7 views
4

컬렉션의 모든 항목을 제거하려고합니다. nodejs/mongodb, 전체 컬렉션을 제거하십시오.

db.collection('sessions', function(err, collection) {          
    collection.remove();     
}); 

오류가 나는 얻을 수있다 :

node.js:134 
     throw e; // process.nextTick error, or 'error' event on first tick 
     ^
TypeError: Cannot call method 'getRequestId' of null 
    at [object Object].executeCommand (/srv/www/www.cidev.com/nodejs/node_modules/mongodb/lib/mongodb/db.js:778:48) 
    at Collection.remove (/srv/www/www.cidev.com/nodejs/node_modules/mongodb/lib/mongodb/collection.js:199:26) 
    at /srv/www/www.cidev.com/nodejs/session/memory/index.js:15:20 
    at [object Object].collection (/srv/www/www.cidev.com/nodejs/node_modules/mongodb/lib/mongodb/db.js:197:12) 
    at new <anonymous> (/srv/www/www.cidev.com/nodejs/session/memory/index.js:14:11) 
    at Object.<anonymous> (/srv/www/www.cidev.com/nodejs/session/memory/index.js:157:16) 
    at Module._compile (module.js:411:26) 
    at Object..js (module.js:417:10) 
    at Module.load (module.js:343:31) 
    at Function._load (module.js:302:12) 

그러나, 나는 잘이를 통해 MongoDB의 작업을 수행 할 수 있습니다

db.sessions.remove(); 

내가 노드를 통해 원하는 것을 달성하기 위해 가장 좋은 방법은 무엇입니까?

감사

답변

13

단지 질문을 업데이트 ... 다시이에 간다.

store.collection('sessions',function(err, collection){ 
    collection.remove({},function(err, removed){ 
    }); 
}); 
+2

무엇이'상점'입니까? – fstab

+0

저장소는 db 개체입니다. – dyesdyes

0

내가 알아낼 수 있었는지 확실하지 않지만 코드가 변경되지 않았습니다. 아마도 API가 변경 되었기 때문일 수 있습니다. 어쨌든 나는 다음과 같은 코드를 사용하여 전체 컬렉션의 내용을 제거 할 수 있었다 :

db.CollectionName.remove().exec(function(error) { 
    if(error) { 
     console.log('Uh oh: ' + error); 
    } 
    else { 
     console.log(' [Existing Collection Deleted]'); 
    } 
}); 
2

나는이 조금 늦게 파티에 훨씬 변경 알고,하지만 remove a collection in node, 당신이 수행

db.collection('someCollection').drop(); 
을 몽고 터미널에서

이 작업을 수행 :

db.someCollection.drop(); 

그것은 간단합니다.

관련 문제