2015-07-31 3 views
0

я использовал GridFS пакет для создания системы загрузки файла в meteorjs это кодКак найти файл с помощью CFS: GridFS в 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, которые содержат текущий идентификатор пользователя теперь я хочу, чтобы фильтровать все файлы, чтобы получить только те, которые загружены на текущий пользователь, и я заметил, что метод Find находится в FS.collection, а не в FS.file, где все свойства, так что я не могу сделать что-то вроде

retuen Files.find({createdBy:Meteor.userId()}); 

так, как решить это так или иначе получить файлы свойств из текущего файла, а затем снова фильтровать их? Заранее благодарен

ответ

0

Вы добавляете свойство после его ввода. Сделайте это заранее, в противном случае он не откладывается:

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

После этого вы можете полностью использовать Files.find.