我的模型本质上是
- 想法有很多位置
- 想法有一个用户
- 位置有一个方向
- 职位有一个安全性
- Position 有一个 Idea(Idea 的倒数有多个 Position)
我已经为许多 node-orm 函数添加了“Q”承诺,以便以这种方式编程。所以 find 现在是 qFind 等...
我正在努力寻找将其保存到数据库(MySql)的最佳方法:
User.qGet(1004).then(function(user) {
var newIdea = new Idea({
'openedOn': new Date()
})
newIdea.setUser(user, console.log)
Idea.qCreate(newIdea).then(function(idea) {
_.each(positions, function(position) {
Security.qFind({ticker: position.ticker}).then(function(securities){
var security = securities[0]
Direction.qFind({direction: position.direction}).then(function(directions){
var direction = directions[0]
var newPosition = Position({
'weight': 1
})
newPosition.setIdea(idea, console.log)
newPosition.setDirection(direction, console.log)
newPosition.setSecurity(security, console.log)
console.log(JSON.stringify(newPosition))
}) // Direction.qFind
}) // Security.qFind
}) // _.each
console.log(JSON.stringify(idea))
res.send(idea)
}) // Idea.qCreate
}) // User.find
这是我的问题
- 它不工作。当我提出这个想法时,我得到了错误:
[错误:ER_BAD_NULL_ERROR:列'directionId'不能为空]
问题是我需要在这个对象中设置三个外键... 2. 这是保存嵌套对象的正确方法吗?