如何迭代角度json对象

时间:2015-10-26 14:46:21

标签: javascript json angularjs node.js mongodb

我创建了一个nodejs应用程序,它将读取我的mongo Db中的所有数据库。我能在控制台中做到这一点。但是,当我尝试将数据解析为json对象并将其显示在屏幕上时,我无法设法获取要显示的信息。希望有人可以帮我弄清楚如何或告诉我我做错了什么。谢谢

app.js

// listen for get request, aka transfers the info in mongo to client
app.get('/databases', function (req, res) {
    console.log("-- recived GET request --"); 
    db.open(function(err, db) {

      // Use the admin database for the operation
      var adminDb = db.admin();

      // List all the available databases
      adminDb.listDatabases(function(err, dbs) {
        assert.equal(null, err);
        assert.ok(dbs.databases.length > 0);
        console.log(dbs);
        res.json(dbs); 
        db.close();
      });
    });
}); 

controller.js

var app = angular.module('myApp', []);

app.controller('customersCtrl', function($scope, $http) {
    console.log("controller connected");

function refresh(){ 
// create route 
$http.get('/databases').success(function(response) {
    console.log("recived data requested");
    $scope.databases = response; 
  });
}

// Call refresh to get req
refresh(); 

});// Controller 

的index.html

<body>

<div ng-app="myApp" ng-controller="customersCtrl"> 

<ul>
  <li ng-repeat="contact in databases">
    {{ contact }}
  </li>
</ul>
 <button type="button" onclick="hitMe()">Click Me!</button> 
</div>

</body>

enter image description here

2 个答案:

答案 0 :(得分:2)

看起来你需要遍历datebases.databases对象。 只要$ scope.databases是:

{
 databases: [],
 totalSize: ..,
 ..
}

您的页面上需要以下ng-repeat:

<ul>
  <li ng-repeat="contact in databases.databases">
    {{ contact.name }}
  </li>
</ul>

答案 1 :(得分:0)

正如安德鲁所说,在你的HTML代码中尝试contact.name。

“联系”本身就是整个对象。你必须指定你想要使用的对象的哪个部分。