我想删除除列表之外的所有Collection .

db.getCollectionNames().forEach(function(n){db[n].remove({})});

将删除所有集合.

db.getCollectionNames().filter(function(collection){return! /^((keepthisone)|(andthisone)|(alsokeepthisone))$/.test(collection)});

我会列出所有的Collection ,除了我想保留的那些.

我如何将这两者结合起来?

db.getCollectionNames().filter(function(collection){return! /^((keepthisone)|(andthisone)|(alsokeepthisone))$/.test(collection)}).forEach(function(n){db[n].remove({})});

什么都不做.

推荐答案

我会在map然后drop的项目上:

db.getCollectionNames().filter(function(collection) {
    return !/^((keepthisone)|(andthisone)|(alsokeepthisone))$/.test(collection);
}).map(function(n){
    return db.getCollection(n);
}).forEach(function(collection){
    collection.drop();
});

Mongodb相关问答推荐

使用单个/多个值查询任何/特定,而不使用if块

如何联接Mongoose中的集合并检索特定字段

MongoDB:通过嵌套数组中的最后一个元素值获取文档

分页时根据唯一字段mongodb获取数据

MongoDB - 分组并找到前 N 个

为什么一个 mongodb 副本集需要奇数个投票 node ?

MongoDB中的readPreference和readConcern有什么区别?

mongodb上不区分大小写的查询

你如何让 mongo 在远程服务器上运行?

使用 nodejs/mongoose 部分更新子文档

嵌套数组内的Mongodb增量值

MongoDB 3 Java判断集合是否存在

NoSQL:MongoDB 或 BigTable 并不总是 Available意味着什么

如何使用服务器实例指定 mongodb 用户名和密码?

使用自定义 _id 值时 mongodb 中的 Upserts

如何匹配 MongoDB 聚合框架中的 undefined值?

show dbs 给出Not Authorized to execute command错误

如何从mongoose中的对象 ID 获取创建日期?

是否可以使用聚合框架对 MongoDB 中的 2 个字段求和?

mongoose — 判断 ObjectId 是否存在于数组中