用angularjs显示mongolab记录的字段

时间:2013-10-16 17:33:56

标签: mongodb angularjs

我想动态显示记录的字段名称:

示例:

如果我有这三个记录

{
    "_id": {
        "$oid": "blahblah"
    },
    "firstName": "Jon",
    "lastName": "Doe",
    "age" : "55"
}
{
    "_id": {
        "$oid": "blahblahblah"
    },
    "firstName": "Johnny",
    "lastName": "Doedoe",
    "weight" : "555lb"

}

我希望在带有angularjs的网页中显示的是:

名字:Jon

姓氏:Doe

年龄:55


名字:约翰尼

姓氏:Doedoe

重量:555磅

我知道如何获取特定值,例如获取我可以执行此操作的名字:$ scope.person.firstname(这当然是一个示例),但是如何获得标签“firstname”。我怎样才能让angularjs获得所有标签?

由于

2 个答案:

答案 0 :(得分:1)

您必须向数据库写一个查询以获取这些记录,具体取决于您的服务器查询会有所不同。以下是呼叫的节点版本

function getNames() {
    db.collection.find().toArray(function(data, err) { 
        if (err)
            //do something
        else
            res.send(data);
    });
}

现在,从Angular,对您的服务器进行GET调用:

$http.get(url).success(function(data) {
    $scope.names = data;
});

现在您已将$scope.names设置为来自serv的数据数组。使用ng-repeat全部显示:

<div ng-repeat="name in names">
    <span ng-repeat="(key, val) in name">{{key}}:{{val}}</span>
</div>

就是这样(好吧,基本上,毫无疑问你必须调整它)。

答案 1 :(得分:0)

不确定您是否使用Express和Jade with Angular,但是如果您不想单独生成http请求(取决于您的应用程序的配置方式),您可以编写一个可以重复使用的角度服务任何控制器。

该服务的目的是抓住json并将其放入当前范围,以便您的控制器可以使用它。此外,您可以在每个页面(即每个控制器)中注入此服务依赖项,它将为您加载文档。

博客文章和full repo here