【问题标题】:How to fetch latest data from an array of data saved in a JSON doc in cloudant?如何从 Cloudant 的 JSON 文档中保存的数据数组中获取最新数据?
【发布时间】:2017-04-27 07:36:49
【问题描述】:

我正在尝试连接到 cloudant db 并获取文档。有一个特定字段的数组(比如查询时间)。有多个文档,每个文档在查询时间字段中有多个条目,我需要从该数组中获取最新的查询时间。

查询时间

["Tue Apr 25 07:32:50 2017", "Tue Apr 25 07:33:51 2017", "Tue Apr 25 07:34:51 2017", 30 more...]

$http(req).then(function(result){
    $scope.tableData = result.data.rows;
    $scope.max = Math.max.apply(Math,$scope.tableData.map(function(doc){return doc.querytime;}));
    },
    function(){
    console.log("Failed at grabbing data");
                });

<body ng-app="myApp" ng-controller="tutorialCtrl">
<p>
{{"Hello " + "you"}}
</p>
    <div ng-repeat="doc in tableData">
        {{doc.doc.querytime}}
    </div>
</body>

【问题讨论】:

    标签: javascript angularjs arrays cloudant


    【解决方案1】:

    如果 querytime 是一个数值,我认为您的代码会起作用。由于 querytime 是一个数组,您需要获取数组中每个最大值的最大值,如下所示:

    $scope.max = Math.max.apply(Math,$scope.tableData.map(function(doc){
       return Math.max.apply(Math,doc.querytime);
    }));
    

    注意我替换了:

    return doc.querytime;
    

    与:

    return Math.max.apply(Math,doc.querytime)
    

    这将为您提供所有文档的最大值。如果您想要每个文档的最大值,您可以执行以下操作:

    控制器:

    $scope.getMaxQuerytime() = function(doc) {
       return Math.max.apply(Math,doc.querytime);
    }
    

    HTML:

    <div ng-repeat="doc in tableData">
        {{getMaxQuerytime(doc)}}
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 2020-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多