如何过滤mongo Db

时间:2019-07-29 03:44:20

标签: mongodb mongodb-query

正在运行4.10 Mongo DB版本

如何获取像

一样过滤的文件数

我在MOngo的文件系统中有.doc,.pdf和.csv。

如何检查每种格式文件(.csv,.pdf,.doc)的数量

请让我知道

1 个答案:

答案 0 :(得分:1)

我假设您不是指引用,而是GridFS中的文件。在这种情况下,它的工作方式是Mongo将它们简单地放入2个集合中,一个用于文件元数据,另一个用于文件块,也就是说,文件的数据被切成碎片。它们是常规集合,您可以像其他任何集合一样查询。它们的名称为"fs.files""fs.chunks"

您想要的是"fs.files"。要按类型检索文件,可以使用字段contentType。这是获取PDF数量的方法:

db.fs.files.find({contentType: "application/pdf"}).count()
// or if your question is only for counting
db.fs.files.count({contentType: "application/pdf"})

就像我说的一样,就像其他收藏一样。

编辑:

var pdfCount = db.fs.files.find({contentType: "application/pdf"}).count();
var csvCount = db.fs.files.find({contentType: "text/csv"}).count();
var docCount = db.fs.files.find({contentType: "application/msword"}).count();