2013-06-24 1 views
0

Мой код вставляет в два раза те же значения из массива (последний). Зачем ? Как вставить много строк, но только если они не существуют?Node.js orm2 создает элементы в цикле

 for x of species # two elements 36 and 37 
      data = { movie_id : id, species_id : species[x].id } 
      console.log data 
      MovieSpecies.exists data, (err, exists) -> 
       if exists == false 
        MovieSpecies.create data, (err, items) -> 
         console.log items 
+0

Можете ли вы поделиться определением 'MovieSpecies' и тем, что вы видите как выход? –

ответ

0

Я думаю, что вы делаете асинхронный вызов MovieSpecies.exists внутри цикла. Когда вы хотите перебирать список и выполнять асинхронные вызовы, я делаю что-то вроде этого:

urls = ['http://cnn.com', 'http://cnet.com'] 

do_loop = (index) -> 
    if index == urls.length 
    alert 'all done!' 
    else 
    http_get urls[index], (result) -> 
     do_loop index+1 

do_loop 0 
Смежные вопросы