GridFS.put() 和 GridFSBucket.upload_from_stream() 之间的区别

Difference between GridFS.put() and GridFSBucket.upload_from_stream()

doc中,它说:

GridFS.put()

Put data in GridFS as a new file.

GridFSBucket.upload_from_stream()

Uploads a user file to a GridFS bucket.

Reads the contents of the user file from source and uploads it to the file filename.

我想一个将文件存储在 GridFS 中,另一个存储在 GridFSBucket 中。 但这到底是什么意思?什么时候使用一个而不是另一个?

基于this thread

GridFSBucket 是对 GridFS API 的补充,需要在各种驱动程序之间统一 Mongo API。

它是一个较新的 API 并且更加一致,因此它应该优于 GridFS class(也是出于灵活性原因)。 GridFS 的旧 API 不会消失,但在不可预见的未来发生这种情况的可能性更高。

在幕后 GridFSBucket 公开了更多选项(例如,可能有多个文件桶 - 不仅仅是 'fs' 一个)。