2014-06-11 55 views
0

我定义的猫鼬的模式:为什么猫鼬给我的翻译:

var Theme = mongoose.model('Theme', { 
id: String, 
name: String, 
background: { 
    url: String, 
    color: String 
}, 
text: { 
    color: String, 
    highlight: String 
}, 
paper: { 
    background_color: String, 
    opacity: Number, 
    font: { 
     family: String, 
     size: Number, 
     color: String 
    }, 
    font_shadow: { 
     x: Number, 
     y: Number, 
     blur: Number, 
     color: String, 
     opacity: Number 
    }, 
    border: { 
     size: Number, 
     type: String, 
     color: String, 
     opacity: Number 
    }, 
    shadow: { 
     x: Number, 
     y: Number, 
     blur: Number, 
     spread: Number, 
     color: String, 
     opacity: Number 
    } 
} 
}); 

模式在适当的Node.js文件中定义。 我有我的数据库相应的文档:

_id: ObjectId("5397557574c5e235160008c5"), 
id: "scifi-1", 
name: "Sci-fi light", 
background: { 
    url: "/bgr/1.jpg", 
    color: "#223388" 
}, 
text: { 
    color: "#333333", 
    highlight: "#555555" 
}, 
paper: { 
    background_color: "#444444", 
    opacity: 0.8, 
    font: { 
    family: "anonymous", 
    size: 14, 
    color: "#888888" 
    }, 
    font_shadow: { 
    x: 0, 
    y: 0, 
    blur: 5, 
    color: "#123456", 
    opacity: 0.5 
    }, 
    border: { 
    size: 1, 
    type: "solid", 
    color: "#666666", 
    opacity: 0.8 
    }, 
    shadow: { 
    x: 0, 
    y: 0, 
    blur: 5, 
    spread: 0, 
    color: "#ff0000", 
    opacity: 0.5 
    } 
} 

这里的问题是,在通过Ajax调用成功检索数据库文件,一切都很好,除了“边界”有[对象的对象]类型的数据,你可以看到它不是它应该是的。为了以防万一,这里有一个output

任何想法我错过了什么?

回答

2

原因似乎是你不能使用“type”作为变量名。要么我必须使用不同的名称,或者我可以把它定义这样的方式:

... 
type: {type: String} 
... 

由于https://stackoverflow.com/a/14755185/820948 将其标记为解决2天因受到限制。

+0

或者你可能意识到你只是将自己的问题确定为重复。但现在你发布了自己的答案,所以我想这是由别人来解决这个问题。 –