Mongolab에 저장되어있는 값을 단순히 첫 번째 항목의 중복 값으로 표시하는 모든 문서 하위 배열을 업데이트하려고 시도 할 때 각형 풀 스택과 몽고 풀을 사용하고 있습니다. 배열의 요소. 페이로드를 업데이트하는 올바른 나타나고 예컨대 다른 값을 포함하는 경우Mongo의 첫 번째 항목의 중복 값으로 저장된 문서 하위 배열
몽구스 스키마
techspecs: [{label: String, value: String, _id: false}],
로 설정 I은 단지 첫 번째 요소의 다수의 중복 저장 유지 이상의 값 쌍이 있다면
techspecs: [{label: "Dimensions", value: "1200x800mm"}, {label:"Capacity", value: "532 l"}]
는하지만 Mongolabs있는 숫자가
"techspecs": [
{
"label": "Dimensions",
"value": "1200x800mm"
},
{
"label": "Dimensions",
"value": "1200x800mm"
}
],
로서 저장된다.
업데이트은 (는) 다음 함수
$scope.updateProduct = function(form) {
$scope.submitted = true;
var pId = $scope.product._id;
if(form.$valid) {
productAPI.update({id: pId}, {
_id: pId,
categoryid: $scope.currentcat[0]._id,
brand: $scope.product.brand,
model: $scope.product.model,
heading: $scope.product.heading,
description: $scope.product.description,
price: $scope.product.price,
techspecs: $scope.product.techspecs,
lastmodified: Date.now()
}).$promise.then(function() {
console.log('Product updated');
}, function(err) {
err = err.data;
$scope.errors = {};
angular.forEach(err.errors, function(error, field) {
form[field].$setValidity('mongoose', false);
$scope.errors[field] = error.message;
});
});
를 통해 업데이트되고있는 컨트롤러에서 공장 서비스
angular.module('prototypeMeanApp')
.factory('productAPI', ['$resource', function($resource) {
return $resource('api/products/:id', {id: '@_id'}, {
'update': { method:'PUT'},
'create': { method:'POST'},
'query' : {method:'GET', isArray:true}
});
}
]);
을 통해 그리고보기
<div class="form-group" data-ng-repeat="techspec in product.techspecs">
<label class="control-label hidden-xs col-sm-3">Tech SpeC#{{$index+1}}</label>
<div class="col-sm-4 col-md-3">
<div class="controls">
<input type="text" data-ng-model="techspec.label" class="form-control" placeholder="Label" />
</div>
</div>
<div class="col-sm-4 col-md-3">
<div class="controls">
<input data-ng-model="techspec.value" type="text" class="form-control" placeholder="Value" />
</div>
</div>
</div>
감사! 이것은 내가 겪고있는 문제였습니다. – user3319803