MEAN стек новичок здесь. Я создал простое приложение, которое использует имена и возрасты как практику. Прямо сейчас я в тупике в той части, где мне нужно вставлять значения массива в массив mongoose.Как правильно нажать значения массива в схеме мангуста в MEAN
Вот моя схема:
var schema = new mongoose.Schema({
name: String,
peoplelist : [{
name: String,
age: String
}]
});
Вот мой контроллер на стороне клиента:
app.controller("IndexController", function ($scope, $resource) {
var PeopleAPI = $resource('/api/post/');
// This is used by ng-repeat
$scope.inputfields = [{
infoname: '',
infoage: ''
}];
// This will be used when transferring details to mongoose schema
$scope.arrayppl= {
name: '',
details: [$scope.inputfields]
};
// Adds new fields in the UI - adding friends is unlimited.
$scope.addDetails = function() {
$scope.inputfields.push({});
}
$scope.saveToDB = function() {
var people = new PeopleAPI();
// save name to main array (arrayppl)
$scope.arrayppl["name"] = $scope.username;
// save infoname and infoage to arraymen
var len = $scope.inputfields.length;
for (var i = 0; i <= len - 1; i++) {
var tempArr = {};
tempArr["infoname"] = $scope.inputfields[i].infoname;
tempArr["infoage"] = $scope.inputfields[i].infoage;
$scope.arraymen["details"].push(tempArr);
}
people.name = $scope.arrayppl["name"];
var i = 0;
angular.forEach($scope.arraymen["details"], function (item) {
var peopleObj = {name: item[i].infoname, age: item[i].infoage};
people.peoplelist.push(peopleObj); // <-- error gets triggered here
i+=1;
});
people.$save(function(result){
console.log(result);
});
}
});
Вот Plunkr, что мое приложение выглядит, и SO question я использую в качестве ссылки, потому что это ближе всего к тому, что я пытаюсь сделать.
На линии people.peoplelist.push(peopleObj)
, я получаю ошибку "Cannot read property 'push' of undefined.
. Означает ли это, что я неправильно получаю схему массива из мангуста? Как это исправить?
Любые ответы будут очень оценены.
Благодарим вас, как всегда за руководство.