我试图删除集合中的所有项目。
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();
通过节点实现我想要的最佳方式是什么?
由于
答案 0 :(得分:13)
回到这个......只是为了更新问题。
store.collection('sessions',function(err, collection){
collection.remove({},function(err, removed){
});
});
答案 1 :(得分:4)
我知道这对派对来说有点晚了,而且已经发生了很大的变化,但到了remove a collection in node,你会这样做:
db.collection('someCollection').drop();
从mongo终端你可以这样做:
db.someCollection.drop();
就这么简单。
答案 2 :(得分:0)
我不确定你是否能够解决这个问题,但你的代码对我不起作用......也许是因为API的变化?无论如何,我能够使用以下代码删除整个集合的内容:
db.CollectionName.remove().exec(function(error) {
if(error) {
console.log('Uh oh: ' + error);
}
else {
console.log(' [Existing Collection Deleted]');
}
});