使用带有knex的where()插入现有行

时间:2016-07-21 09:22:13

标签: javascript mysql knex.js

我想用knex.js将数据插入到现有行中,但是我没有在文档中看到它很清楚,尝试使用Where(),因为下面的代码不起作用。我已经看到有一个名为knex-filter的npm包可能有助于这样做,但我想应该有办法用knex.js来做 如果有人知道如何继续,我将非常感激。

    knex('pets')
    .where({id : petId})
    .insert({image: file.path})
    .then(function(result) {
        console.log('knexjs works!!');
        })
    .catch(function(error) {
        console.log(error);
    });

2 个答案:

答案 0 :(得分:2)

我认为您应该使用update而不是insert

.where('id', petId)
.update({image :file.path})

答案 1 :(得分:0)

感谢scaisEdge的评论,我意识到我必须使用不同的东西而不是.insert(),它使用.update()。 这是有道理的,因为我不想插入但修改或更新。

     knex('pets')
    .where('id', petId)
    .update({image :file.path})
    .then(function(result) {
        console.log('knexjs works!!');
        })
    .catch(function(error) {
        console.log(error);
    });