错误:使用MEAN w / Heroku

我只是从数据库中获取数据,并使用ngRepeat将其显示在html文件中。 连接到数据库是成功的,我可以添加数据。 还有客户端的一切工作,因为我能够在一个定义的数组中显示ngRepeat div中的数据。 所以问题必须在.get()方法的某个地方,但我不知道它是什么。 有什么build议么?

server.js

var express = require('express'); var mongojs = require('mongojs'); var MongoClient = require("mongodb").MongoClient; var app = express(); var port = process.env.PORT || 3000; var db = mongojs('heroku_1x6kasdf'); var plantList = db.collection("plantList"); app.use(express.static(__dirname + "/")); MongoClient.connect(process.env.MONGOLAB_URI, function(err, db) { if (err) throw err; console.log('SUCCESS! Connected to heroku_1x6kasdf database'); app.get("/", function(req, res) { plantList .find({}) .toArray(function(err, docs) { if (err) throw err; res.json(docs); }); }); }); app.listen(port, function() { console.log('SUCCESS! Connected to ' + port); }); 

controller.js

 var myApp= angular.module('myApp', []); myApp.controller('AppCtrl', ['$scope', '$http', function($scope, $http) { var refresh = function() { $http.get("/").success(function (response) { $scope.plantList = response; }); }; refresh(); }]); 

的index.html

 <html ng-app="myApp"> ... <div ng-controller="AppCtrl"> <div ng-repeat="plant in plantList"> <p>{{plant.name}}</p> <p>{{plant.variety}}</p> <p>{{plant.quantity}}</p> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script> <script src="controllers/controller.js"></script> </body> </html> 

跟踪工厂ID。 我不会推荐track by $index因为它跟踪的是位置而不是项目,这会导致问题。

 <div ng-controller="AppCtrl"> <div ng-repeat="plant in plantList track by plant.id"> <p>{{plant.name}}</p> <p>{{plant.variety}}</p> <p>{{plant.quantity}}</p> </div> </div> 

在数组中发现两次对象时发生此错误。 当你没有在转发器中指定“Track by”时,通过通常类似于“object:76”,“object:77”之类的特殊属性“$$ hashKey”进行angular度跟踪

你可以console.log你的数组,然后检查一个对象是否有相同的$$ hashKey