Erro:Não é possível aplicar $empurrar modificador de matriz não em Meteorjs
-
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.
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