Javascript 从Mongo GridFs中删除所有文件(包括文件和块)

Javascript 从Mongo GridFs中删除所有文件(包括文件和块),javascript,mongodb,gridfs,Javascript,Mongodb,Gridfs,我正在针对MongoDb GridFs编写一些测试,并希望确保在开始每个测试时都一尘不染。所以我想删除所有内容,包括fs_文件和fs_块 最简单的方法是什么 如果GridFs有自己的数据库,那么我只需要通过MongoShell和。或者,如果数据库中有要与fs_文件和fs_块分开的集合,则可以显式地删除这些集合。如果需要,您可以通过驱动程序中的命令运行,而不是通过shell运行。如果您想删除GridFS,请像这样尝试(pyMongo案例) 删除所有文件和块的简单方法是 let bucket = n

我正在针对MongoDb GridFs编写一些测试,并希望确保在开始每个测试时都一尘不染。所以我想删除所有内容,包括fs_文件和fs_块


最简单的方法是什么

如果GridFs有自己的数据库,那么我只需要通过MongoShell和。或者,如果数据库中有要与fs_文件和fs_块分开的集合,则可以显式地删除这些集合。如果需要,您可以通过驱动程序中的命令运行,而不是通过shell运行。

如果您想删除GridFS,请像这样尝试(pyMongo案例)


删除所有文件和块的简单方法是

let bucket = new GridFSBucket(db, { bucketName: 'gridfsdownload' });
bucket.drop(function(error) { /* do something */ });
这也将删除集合。如果你想保留这些收藏,你需要 要这样做:

let allFiles = db.collection('uploaded.file').find({}).toArray();
for (let file of allFiles) {
    await bucket.delete(file._id);
}

这很管用,但现在我遇到了一个连接问题。。。好的,与此无关。非常感谢!
let allFiles = db.collection('uploaded.file').find({}).toArray();
for (let file of allFiles) {
    await bucket.delete(file._id);
}