gpt4 book ai didi

Ruby GridFS - 搜索文件名

转载 作者:可可西里 更新时间:2023-11-01 09:58:22 27 4
gpt4 key购买 nike

在使用 mongo gem 的 ruby​​ 中,我找不到任何关于如何使用 GridFs 查找文件名的文档。

最佳答案

第一个get a connection to the database ,我们称之为 db。然后你可以连接到你的 GridFS 作为 Mongo::GridMongo::GridFileSystem实例:

fs = Mongo::Grid.new(db)
fs = Mongo::GridFileSystem.new(db)

现在您可以使用 Mongo::GridExt::InstanceMethods fs 上的方法。特别是,您可以使用 exist?:

f = fs.exist? :filename => 'pancakes.png'

exist? 方法的命名很糟糕,因为如果它找到某些东西,它会为您提供一个 Hash,如果没有找到,则会为您提供一个 nil

如果您要搜索与 /pancakes/ 匹配的所有文件名,这就不是很有用了。然而,GridFS 只是一对普通的 MongoDB 集合:

  • fs.files:文件元数据。
  • fs.chunks:文件数据(以 block 为单位)。

如果您想进行任意元数据搜索,那么您只需要掌握 fs.files 并按照自己的方式使用它:

fs     = db['fs.files']
cursor = fs.find(:filename => /pancakes/)
# Now iterate through cursor or .count it or ...

上面的 fs 将是一个 Mongo::Collection所以它的 find method接受所有常用的查询选项。

关于Ruby GridFS - 搜索文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9679725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com