MongoDB中“存储桶”与数据库和集合之间有什么关系?

时间:2018-07-17 00:14:01

标签: mongodb

来自https://docs.mongodb.com/manual/core/gridfs/#gridfs-collections

  

GridFS通过为每个集合添加前缀来将集合放置在一个公共存储桶中   与存储桶名称。默认情况下,GridFS使用两个集合   存储桶名为fs:

     
      
  • fs.files

  •   
  • fs.chunks

  •   

在MongoDB中,将集合直接包含在数据库中是否正确?

在引号中将两个集合直接包含在名为fs的存储桶中是否正确?

什么是“桶”?它与MongoDB中的数据库具有相同的概念吗? fs既是存储桶又是数据库?

$ mongo test
MongoDB shell version: 3.1.7
connecting to: test
Welcome to the MongoDB shell.
> db.fs.files.find()
{ "_id" : ObjectId("560cf6ab73f0fc3ab9000001"), "chunkSize" : 261120, 
"uploadDate" : ISODate("2015-10-01T09:02:35.397Z"), "length" : 938969, "md5" : 
"7e2877e5dad6e8e97b0fa43d28f2feca", "filename" : "/tmp/dictionary" }
>

以上示例是否暗示存储桶fs是数据库和集合之间的概念?

谢谢。

1 个答案:

答案 0 :(得分:0)

GridFS是允许存储大于16MB的文档的规范。

虽然文档中术语“存储桶”的用法尚不清楚,但是您可以将其作为包含文档信息的2个集合的前缀

there is no restriction on having collections names with a dot character起编写这样的查询很好。

 db.sample.one.insert({a:2})

GridFS specification所做的工作是使用数据库驱动程序来解决MongoDb的文档大小限制。
它定义了两个具有相同前缀(默认为files)的集合(chunksfs)。
可以按照任何程序设计语言来实现驱动程序,以管理大型文档。