我再次编写一些测试,然后再使用MongoDb GridFs,并确保每次测试都以干净的方式开始。所以我想从fs_files和fs_chunks中删除所有内容。
最简单的方法是什么?
如果GridFs拥有自己的数据库,那么我将使用db.dropDatabase()通过mongo shell删除数据库。或者,如果您希望与数据库中的fs_files和fs_chunks保持隔离,则可以使用db.collection.drop()明确删除这些收集。对于两者,您都可以通过驱动程序的命令来运行,而不是通过外壳运行。
[如果要删除GridFS,请像(pyMongo案例)那样尝试它
for i in fs.find(): # or fs.list()
print fs.delete(i._id)
删除所有文件和块的简单方法是
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);
}