在mongoose中创建嵌套模式

时间:2015-08-27 09:41:07

标签: node.js mongodb

假设我的models.js文件中有这个Mongoose Schema:

var Mongoose = require('mongoose');

var ProjectSchema = new Mongoose.Schema({
    "name": String,
    "id": String,
    "phone": String,
    "address": String,
    "dob": String,
    "action": String, 
    "ccard": { 
        "type": String,
        "number": String,
        "status": String,
        "expiry": String
    }
});

exports.Project = Mongoose.model('Project', ProjectSchema);

并且假设我已经拥有使用MongoDB从JSON文件加载必要信息的数据的网站。如何在HTML模板中调用ccard的字段?截至目前,我可以毫无问题地在{{name}}子句中调用{{id}}{{each projects}} ... {{/each}},但是当我调用{{ccard.number}}时,它不会输出任何内容。

HTML示例:

{{each projects}}
<table>
    <tr>
        <td>{{ccard.type}}</td>
        <td>{{ccard.number}}</td>
        <td>{{ccard.status}}</td>
        <td>{{ccard.expiry}}</td>                                                  
    </tr>
</table>
{{/each}}

架构或模板变量或其他地方的问题是什么?

1 个答案:

答案 0 :(得分:2)

架构写得正确。 我可以看到

"ccard": { 
      "type": String,
      "number": String,
      "status": String,
      "expiry": String
}

您可以通过保存文档的变量名进行访问。假设您在

中提取了1个文档
var = project

现在您可以访问#{project.ccard.status}{{project.ccard.status}}