2014-06-20 52 views
1

檢查我的代碼...使用mongo的Node.js - 渲染「對象」而不是模板中的數據?

var swig = require('swig'); 
var config = require('../config.json'); 
var mongojs = require('mongojs'); 
var ObjectId = mongojs.ObjectId; 
var db = require('mongojs').connect(config.mongoDB, config.mongoDBcollections); 
var roles; 


db.lists.find({type:'roles'}).toArray(function(err, item) { 
    roles = item[0].data; 
    console.log(roles); 
}); 

var sharetpl = swig.compileFile(__dirname +'/../html/register.html'); 
exports.index = function(req, res){ 
    var output = sharetpl({ 
    'title': 'Roles Itself', 
    'roles' : [roles] 
}); 
res.send(output); 

};

這是執行console.log輸出...

[ { name: 'Web Developer', code: 'wdv' }, 
    { name: 'Web Designer', code: 'wds' }, 
    { name: 'System Archtect', code: 'sar' } ] 

這一切都沒事,那麼遠,但是HTML ...

服務器端:< | - {{角色}} - >

客戶端HTML: < | - [對象對象],[目標對象],[目標對象] - >

所以,基本上我在它stucked ...這是r在客戶端輸入「[object Object]」而不是數據本身:(非常沮喪。任何線索? ty!

+0

您是否嘗試過'{{roles.name}}'? – bloodyKnuckles

+0

你用於HTML輸出的模板語言是什麼? –

回答

0

roles是對象數組,因此您需要引用數組中每個單獨對象的特定字段。

如果您正在使用Mustache語法將如下:

{{#roles}} 
    {{name}}, {{code}} 
{{/roles}} 
+0

Ty !!啊! –