2015-05-15 19 views
6

Usiamo il sequelize sul nodo js Ho resourse File. Il file ha attributo UserId. Esigenza: copiare gli stessi file (by filesId) all'utente. Se l'uso di sql quindi bisogno di fare:Come inserire da select in sequelize

INSERT INTO files (name, link, userId) SELECT name, link, 5 FROM files WHERE id in (1,2,3,4,10) 

Ma come farlo su sequelize non ho alcuna idea ... Solo query SQL personalizzata.

+0

Avete trovato una soluzione a questo? – Clarkie

risposta

1

provare qualcosa di simile:

File.findAll({ 
    where: {id: {$in: [1,2,3,4,10]}} 
}).then(function(filesSeq)){ 
    //make file objects with UserId=5 
    var files = filesSeq.map(function(fileSeq){ 
    var file = fileSeq.toJSON(); 
    file['UserId'] = 5; 
    return file; 
    }); 
    return File.bulkCreate(files) 
}).then(function(files){ 
    //do something with created files 
}); 
Problemi correlati