Erro:Não é possível aplicar $empurrar modificador de matriz não em Meteorjs

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

  •  13-12-2019
  •  | 
  •  

Pergunta

Esta é uma função para adicionar um dicionário como um subitem de um documento principal.

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

Eu verifique se os dados passados e são válidos principal documento de identificação de um subitem de dados.

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

Isso funciona bem, ontem, com a versão mais recente do meteoro (0.4.2), mas hoje eu recebo esta mensagem no console javascript:

Error: Cannot apply $push modifier to non-array

Eu criei e configuração de um novo projeto e ainda mantenho a mesma.

Foi útil?

Solução

Graças a Lloyd, Bom de solução e graças que o javascript curso intensivo (eu sou um iniciante no mesmo), mas eu encontrei a solução:(observe o "$push")

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

Outras dicas

tente isso:

addSubItem = function(id, data) {
  s = Item.findOne(id);
  if(s){
    s.subItemsList = s.subItemsList || [];
    s.subItemsList.push(data);
    Item.update(id, s);
  }
};
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top