我的模型基本上是節點ORM節省嵌套對象
- 想法有許多位置
- 想法有一個用戶
- 地位的一個方向
- 地位一個安全
- 位置有一個Idea(Idea的反面有很多位置)
我有adde d'Q'承諾許多node-orm函數以這種方式進行編程。所以發現現在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
這裏是我的問題
- 據不工作。當我設置的想法,我得到的錯誤:
[Error: ER_BAD_NULL_ERROR: Column 'directionId' cannot be null]
的問題是,我需要在此對象設置三個外鍵... 2.這是正確的做法,以節省嵌套的對象嗎?