我在不使用GridFS的情况下将文件存储在常规MongoDB文档中(文件都小于16MB的限制)。
采用这种方法时,我遇到的问题是,当我在终端中执行db.collection.find
操作时,它将输出整个二进制数据。对于小文件,这不是问题,但是当文件为8MB时,在终端中输出该二进制文件大约需要20秒。
有没有办法阻止将整个二进制数据输出到终端?
该文件大致具有以下结构:
{ _id: ObjectId field1: string field2: string field3: string attachment: { filename: string data: BinData } }
如果没有attachment
,它将被排除在文档之外。
答案 0 :(得分:1)
如何确保查询找到其中包含字段附件$exists的文档,但使用结果中的projection排除该字段?
db.bindata.find({attachment:{$exists:true}}, {attachment:false})
您可以扩展您的查询。只要确保你保持附加条件。