如何使用CFS搜索文件:meteorjs中的GridFS

时间:2015-07-31 14:56:02

标签: javascript meteor gridfs

我使用GridFS Package在meteorjs中创建了一个文件上传系统,这就是代码

     var files = event.target.files;
     FS.Utility.eachFile(event, function(file) {
           Files.insert(file, function(err, fileObj) {
             // Inserted new doc with ID fileObj._id, and kicked off the data upload using HTTP
             fileObj.createdBy = Meteor.userId();
             console.log(currentProject);

             if (err) {

             } else {
               console.log(fileObj);
               console.log(Files);

             }
           });
           v
但是当我返回文件时,我遇到了问题。 我正在使用Find方法

return Files.find({});

我的问题是在上传文件时我添加了一个名为createdBy的属性,其中包含当前用户ID现在我想过滤所有文件以获取当前用户上传的文件,我注意到Find方法在FS.collection而不是FS.file中的所有属性都是如此,我不能做像

这样的事情
retuen Files.find({createdBy:Meteor.userId()});

所以如何解决这个问题无论如何从当前文件中获取属性文件然后再次过滤它们? 提前致谢

1 个答案:

答案 0 :(得分:0)

您在插入属性后添加属性。事先做好,否则不会存储:

       file.createdBy = Meteor.userId();
       Files.insert(file, function(err, fileObj) {  ...

之后,您可以完全使用Files.find