【发布时间】:2021-09-28 17:55:12
【问题描述】:
我在我的项目中使用 Django 生成的模型和 sequelize-auto 生成续集表。到目前为止,一切都很好。如果我再次看到一个 url,我编写了代码来更新排名。
const findLink = async (link) =>
Link.findOne({
where: {
url: link,
},
raw: true,
});
// eslint-disable-next-line no-use-before-define
const insertEvent = async (link, tweetText) => {
// Sync Database table before reading
await sequelize.sync();
findLink(link).then((url) => {
if (url) {
url.increment("rank", {by: 1}).then(()=>{
Event.create({
url_id: url.id,
tweet_text: tweetText,
created_at: new Date(),
updated_at: new Date(),
})
});
} else {
Link.create({
url: link,
rank: 0,
created_at: new Date(),
updated_at: new Date(),
}).then((newLink) => {
Event.create({
url_id: newLink.id,
tweet_text: tweetText,
created_at: new Date(),
updated_at: new Date(),
});
});
}
});
};
但问题是,当它执行url.increment("rank", {by: 1}) 时,它说url 没有increment 功能。
但根据文档,它明确指出here。如果我做错了什么,请告诉我?我已经搜索了互联网,但我找不到任何相关的东西。我可以通过重复查找来更新值,但我正在寻找一种方法,如果我可以更新已经找到的对象而不是再次搜索它。
【问题讨论】: