Sequelize findOrCreate生成两行

时间:2017-06-06 22:41:01

标签: sql node.js postgresql express sequelize.js

我在Postgresql数据库上使用Sequelize并运行以下查询:

let idUser = req.user.idUser;

db.table.findOrCreate( { where : { idUser : idUser }}).spread(function (data, created) {
    res.json({
        value : data.birthday
    });
});

鉴于我正在使用findOrCreate,我希望第一次在新用户上运行它时,它会尝试在表中找到一个值,找不到它并创建一行。任何后续运行的时间,它都会找到并使用该行。

但是, 65%的时间为同一个用户创建两行!我在创建行时存储,两行的值通常在几毫秒之内。什么可能导致这个?为什么它有时只发生?

我的理解是,当使用findOrCreate时,这是不可能的。我感谢所有的帮助!谢谢

此外,SQL中与findOrCreate相同的是什么?

0 个答案:

没有答案