오류 : Meteorjs의 비 배열에 $ Push 수정자를 적용 할 수 없음

StackOverflow https://stackoverflow.com//questions/12713018

  •  13-12-2019
  •  | 
  •  

문제

이것은 주 문서의 하위 안티멘트로 사전을 추가하는 함수입니다.

addSubItem = function(id, data) {
  s = Item.findOne(id);
  if(s){
    Item.update({_id:id},{$push:{'subItemsList':data}});
  }
};
.

I 데이터가 통과되었는지 확인하고 유효한 기본 문서 ID가 하위 인텐 데이터입니다.

data = {num:1, value: 'Subitem1'};
.

이것은 최신 버전의 유성 버전 (0.4.2)으로 어제 잘 작동하지만, 오늘은 JavaScript 콘솔 에서이 메시지를받습니다.

Error: Cannot apply $push modifier to non-array
.

새 프로젝트를 만들고 설정하고 여전히 동일하게 똑같습니다.

도움이 되었습니까?

해결책

Lloyd, 멋진 해결 방법 및 JavaScript 충돌 코스 (저는 Begginer)에 감사드립니다.하지만 솔루션을 찾았습니다. ( "$ Push")

addSubItem = function(id, data) {
  s = Item.findOne(id);
  if(s){
    Item.update({_id:id},{"$push":{'subItemsList':data}});
  }
};
.

다른 팁

시도 :

addSubItem = function(id, data) {
  s = Item.findOne(id);
  if(s){
    s.subItemsList = s.subItemsList || [];
    s.subItemsList.push(data);
    Item.update(id, s);
  }
};
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top