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(); 

什么是最好的方式来实现我想要通过节点?

谢谢

回到这个…只是为了更新这个问题。

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

我知道这对聚会来说有点晚了,而且已经发生了很大的变化,但是要删除节点中的集合 ,请执行以下操作:

 db.collection('someCollection').drop(); 

从mongoterminal你做到这一点:

 db.someCollection.drop(); 

就这么简单。

我不确定你是否能够解决这个问题,但你的代码不适合我…也许是因为API的变化? 无论如何,我能够使用下面的代码删除整个集合的内容:

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