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

Posted

技术标签:

【中文标题】GridFS.put() 和 GridFSBucket.upload_from_stream() 之间的区别【英文标题】:Difference between GridFS.put() and GridFSBucket.upload_from_stream() 【发布时间】:2019-01-30 17:11:39 【问题描述】:

在doc 中,它说:

GridFS.put()

将数据作为新文件放入 GridFS。

GridFSBucket.upload_from_stream()

将用户文件上传到 GridFS 存储桶。

从源中读取用户文件的内容并将其上传到 文件文件名。

我认为一个是在GridFS 中存储一个文件,另一个是在GridFSBucket 中。 但这甚至意味着什么?什么时候使用一个而不是另一个?

【问题讨论】:

【参考方案1】:

基于this thread:

GridFSBucket 是对统一各种驱动程序中的 Mongo API 所需的 GridFS API 的补充。

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

GridFSBucket 的掩护下提供了更多选项(例如,可能有多个文件桶 - 不仅仅是'fs' 一个)。

【讨论】:

以上是关于GridFS.put() 和 GridFSBucket.upload_from_stream() 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

第三十一节:扫盲并发和并行同步和异步进程和线程阻塞和非阻塞响应和吞吐等

shell中$()和 ` `${}${!}${#}$[] 和$(()),[ ] 和(( ))和 [[ ]]

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()

malloc和free,brk和sbrk和mmap和munmap的使用和关系以及内存分配的原理