2015-05-15 10 views
6

Wir verwenden Sequelize auf Knoten js Ich habe Resoure-Datei. Die Datei hat das Attribut UserId. Need: Kopieren Sie die gleichen Dateien (nach filesId) zum Benutzer. Wenn die Verwendung von SQL dann tun müssen:Wie man von select in Sequelize einfügen

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

Aber wie es auf sequelize nicht ich irgendwelche Ideen haben ... Nur benutzerdefinierte SQL-Abfrage.

+0

Haben Sie eine Lösung für dieses gefunden? – Clarkie

Antwort

1

versuchen, etwas wie folgt aus:

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 
}); 
Verwandte Themen