sql >> Database teknologi >  >> NoSQL >> MongoDB

Opdater billede ved hjælp af collectionfs

Der er ingen måde at opdatere et aktuelt url-billede ved hjælp af FSCollection (i dette tilfælde billedet), tjek dette Github-udgave ,hvor Raix og Aldeed taler om noget fremtidigt arbejde som FS.File.updateData() , men den er ikke implementeret endnu.

En mulig løsning vil være dette.

Template.example.events({
  'click #changeImage':function(event,template){
     var message = confirm("Do you wanna change this image?"); 
         if(message == true){
            var file = $('#changeImageInput').get(0).files[0],
                newFile = new FS.File(file);
                newFile.metadata = {
                       createdBy:Meteor.userId(),
                    }
            var query = Images.findOne({'metadata.createdBy':Meteor.userId()}) //supposing there is only one image if not use a .fetch() and a for instead.

           //removing the current image.
            Images.remove({_id:query._id},function(err,result){
           //if there is not error removing the image, insert new one with the same metadata
            if(!err){
              Images.insert(fsFile,function(){
               if(!err){
                 console.log("New image get upload")
                 }
               })
             }
          });                 
         }else{
          console.log("user don't want to change the image")
        }                
   }
})


  1. JHipster Redis Integrationselement ubundet fejl

  2. Sådan bygger du docker-billede fra github-lageret

  3. mongo log rotation virker ikke på windows

  4. MongoDB {aggregation $match} vs {find} hastighed