我正在研究 gridFS,有几个问题。
1) gridFS通过生成的_id自动索引文件。但大多数时候我都是通过文件名获取文件,那么我应该自己在“文件名”上创建索引吗?
2) gridFS 没有文件夹,只有文件名,但我可以通过使用带有斜杠“/images/avatars/35.jpg”的文件名来模拟文件夹,对吗?
3) 如果我对“文件名”建立索引 - 使用短文件名在性能方面是否更好?我的意思是 - 如果我使用 24 个符号长 + 后缀的用户 _id,例如 "/images/avatar_4f1d36b58e42ba3836ed178e_t.jpg"
,在这么长的字段上建立索引不会减慢我的系统速度吗?使用短用户登录名而不是 _id 会更好(更快)吗?
最佳答案
1) 如果文件名没有被索引,我会感到非常惊讶。它在整个 API 中使用,我假设它已被索引。
2) 是的,可以,但是没有隐含真正的目录概念。列出文件/目录有点复杂。换句话说,它只是一个标签。
3) 索引使用哈希值或固定长度字符串,因此长键与长键一样容易索引。
关于performance - MongoDB gridFS - 文件名长度、索引、性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8982946/