从Mongo GridF删除所有文件(文件和块)

问题描述 投票:0回答:3

我再次编写一些测试,然后再使用MongoDb GridFs,并确保每次测试都以干净的方式开始。所以我想从fs_files和fs_chunks中删除所有内容。

最简单的方法是什么?

javascript mongodb gridfs
3个回答
1
投票

如果GridFs拥有自己的数据库,那么我将使用db.dropDatabase()通过mongo shell删除数据库。或者,如果您希望与数据库中的fs_files和fs_chunks保持隔离,则可以使用db.collection.drop()明确删除这些收集。对于两者,您都可以通过驱动程序的命令来运行,而不是通过外壳运行。


0
投票

[如果要删除GridFS,请像(pyMongo案例)那样尝试它

for i in fs.find(): # or fs.list()
    print fs.delete(i._id)

0
投票

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

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);
}
© www.soinside.com 2019 - 2024. All rights reserved.