2017-01-23 18 views
0

私は私のウェブページshifts[7]を印刷するアレイ奇妙なMongoDBの応答形式

{ 
    "_id":ObjectId("588116a66f7d758b144177f7"), 
    "name":"Michael", 
    "email":"[email protected]", 
    "company":"Shift", 
    "username":"MichaelP", 
    "password":"$2a$10$unH/7anPylxk1x5zk6/so.YcByZqQoBdFi9IlWnHty2gNouUrt7ea", 
    "position":"Manager", 
    "shifts":[ 
     "day", 
     "day", 
     null, 
     "night", 
     null, 
     null, 
     null, 
     "15" 
    ], 
    "score":[ 
     null, 
     "550", 
     null 
    ], 
    "__v":0 
} 

が含まれているのMongoDBデータベース文書を持っています。私はnode.jsを初めて使っていますが、{{username}}または{{company}}を印刷することができます。shifts[7]として印刷します。'{ '0': '1', '1': '5' }'私はindex.jsの単純な解決策だと思っています。

私のindex.jsコードの短縮版を以下に追加していただきありがとうございます。

router.get('/hub',ensureAuthenticated, function(req, res, next){ 
    var collection = db.collection('users'); 
    var totalHours= req.user.shifts[7] + ''; 
    var totalhour=0; 

    res.render('hub', {username: req.user.username, 
    company: req.user.company, 
    position: req.user.position, 
    totalHours: totalhour 
    }); 
}); 
+0

あなたは '[7] .join( '')'するvar totalHoursの=のreq.user.shiftsを試してみましたか? –

+0

入れ子配列を間違って使用しています。ネストした配列にはオブジェクトが含まれている必要があります。 – Tom

+0

ありがとう、@ JyothiBabuAraja req.user.shifts [7] .joinは関数ではないと言いますが、別途関数を書くべきですか? – LiveLongCandy51

答えて

0

私はこの問題は、ユーザーが応答の代わりにreq.userを使用していて、これはあなたが単一のユーザーの値を取得するために_idを渡し、その後のためにそれを使用する必要があります発生するので、あなたが応答に単一のオブジェクトを取得されていませんだと思いますあなたのさらなるプロセス....

router.get('/hub/:id',ensureAuthenticated, function(req, res, next){ 
var collection = Restangular.One('users',req.user._id); 
    collection.get().then(function(err,user){ 
    var totalHours= users.shifts[7] + ''; 
    var totalhour=0; 
    $scope.user=user; 
    $scope.totalHours = user.shift[7]; 

}、関数(ERR){ にconsole.log(ERR、 "誤ります")})。 HTMLにおける総時間

res.render('hub', {username: req.user.username, company:req.user.company, position: req.user.position, totalHours: totalhour}) 
}); 

だけプリント{{totalHours}}

関連する問題