如果不存在,如何在节点上执行插入
On node how to you perform an insert if doesn't exists
我的休息 api 调用 Put 请求到此函数以在 Postgre-sql.
上创建 firebase 令牌但是,我意识到每当令牌刷新时都会有一个新行为同一用户添加。
我如何才能让它在存在时执行插入,在不存在时执行更新。
我已经尝试过冲突更新,但它不起作用。
代码在这里:
function createUserToken(req, res, next) {
var userid = req.user.email;
db.none('insert into fcmdb(userid, token)'+
'values(, ) on conflict update',
[userid,req.body.token])
.then(function () {
res.status(200)
.json({
status: 'success',
message: 'Inserted token'
});
})
.catch(function (err) {
return next(err);
});
}
这只是因为是直接借助插入查询插入数据。
你应该做的是首先你需要在 userId 的帮助下检查你的数据库中存在什么用户 ID 是的然后你需要更新其他只是插入就像你正在做的那样
或
你的做法可以参考这个例子(使用DUPLICATE KEY UPDATE insted of on conflict update) INSERT INTO table (a,b ,c) 值 (1,2,3)
关于重复密钥更新 c=c+1;
我的休息 api 调用 Put 请求到此函数以在 Postgre-sql.
上创建 firebase 令牌但是,我意识到每当令牌刷新时都会有一个新行为同一用户添加。
我如何才能让它在存在时执行插入,在不存在时执行更新。
我已经尝试过冲突更新,但它不起作用。
代码在这里:
function createUserToken(req, res, next) {
var userid = req.user.email;
db.none('insert into fcmdb(userid, token)'+
'values(, ) on conflict update',
[userid,req.body.token])
.then(function () {
res.status(200)
.json({
status: 'success',
message: 'Inserted token'
});
})
.catch(function (err) {
return next(err);
});
}
这只是因为是直接借助插入查询插入数据。 你应该做的是首先你需要在 userId 的帮助下检查你的数据库中存在什么用户 ID 是的然后你需要更新其他只是插入就像你正在做的那样
或
你的做法可以参考这个例子(使用DUPLICATE KEY UPDATE insted of on conflict update) INSERT INTO table (a,b ,c) 值 (1,2,3) 关于重复密钥更新 c=c+1;