【发布时间】:2022-02-03 06:15:06
【问题描述】:
我正在阅读第 6 版的 Sequelize 文档,其中有一节介绍包含在不同类型关联中的方法。我正在浏览 .hasOne 关联的方法,但它没有按应有的方式工作。我写的代码应该输出到控制台:
null
some-bar
yet-another-bar
null
但这是我得到的:
null
some-bar
some-bar
yet-another-bar
这是我的代码:
const Sequelize = require('Sequelize')
const db = new Sequelize('postgres://localhost:5432/sqlstuff', {
logging: false
})
const Foo = db.define('foo', {
name: Sequelize.STRING
}, { timestamps: false })
const Bar = db.define('bar', {
name: Sequelize.STRING
}, { timestamps: false })
Foo.hasOne(Bar)
const create = async function() {
const foo = await Foo.create({ name: 'the-foo' });
const bar1 = await Bar.create({ name: 'some-bar' });
const bar2 = await Bar.create({ name: 'another-bar' });
console.log(await foo.getBar()); // null
await foo.setBar(bar1);
console.log((await foo.getBar()).name); // 'some-bar'
await foo.createBar({ name: 'yet-another-bar' });
const newlyAssociatedBar = await foo.getBar();
console.log(newlyAssociatedBar.name); // 'yet-another-bar'
await foo.setBar(null); // Un-associate
console.log((await foo.getBar()).name); // null
}
const connect = async function() {
try {
await db.sync({ force: true })
await create()
await db.close()
} catch (error) {
console.error(error)
}
}
connect()
我直接从文档中复制粘贴了我的 create 函数中的代码,所以我不确定出了什么问题。任何帮助将不胜感激。
【问题讨论】:
标签: javascript node.js sequelize.js