2017-05-10 45 views
0

我試圖使用如下的destroy實例方法,但是我一直接收NaN而不是刪除的行數。Sequelize銷燬方法返回NaN而不是刪除的行數

const Sequelize = require('sequelize'); 
const sequelize = new Sequelize(options); 

const user = sequelize.define('user', { 
    firstName: { 
     type: Sequelize.STRING, 
     field: 'first_name' // Will result in an attribute that is firstName when user facing but first_name in the database 
    }, 
    lastName: { 
     type: Sequelize.STRING 
    } 
} 

// insert some records with user object, etc 

user.destroy({ truncate: true }).asCallback((err, deleted) => { 

    if (err) { 
     throw err; 
    } 

    console.log(deleted); 
    // Always prints NaN 
}); 

任何幫助將不勝感激!

感謝

回答

-1

要截斷模型做這樣的事

var model = require('../models'); 
    model.user.destroy({ truncate : true, cascade: false }).then(function(result) 
     { 
      res.json(result) 
     }).catch(function(err){ 
      res.json(err) 
     }) 

,或者如果你想刪除特定的記錄,然後做這樣的事情。這將在情況下返回是effected0行數不影響

 user.destroy({ 
      where: { 
       email: "[email protected]" 
      } 
     }) 
      .then(function (delete_rows) { 
       console.log(delete_rows); 
       res.json(delete_rows) 
      }) 
      .catch(function (error){ 
       res.status(500).json(error); 
      }); 

看到更新的文檔[http://docs.sequelizejs.com/en/latest/docs/querying/]

http://docs.sequelizejs.com/en/v3/api/model/#destroyoptions-promiseinteger 2

+0

我不是問你如何刪除一個或所有行,我在問爲什麼當我銷燬所有行時,我得到一個NaN響應,與被刪除的行數相反。我相信這是一個錯誤,並且可能需要進行測試才能提交Sequelize的bug。 –

+0

你正在使用舊的方法,試試這個 – Adiii

+0

我不使用舊的方法只是包裝承諾與藍鳥方法給我回調簽名。 –

相關問題