我的代码出现以下错误消息:
Field.Arguments.Foreach(collectNode);^
TypeError:无法读取未定义的属性“for each”
newPedido: (root, {input}) =>{
const newPedido = new Pedidos({
pedido: input.pedido,
total: input.total,
fecha: new Date(),
cliente: input.cliente,
estado: "PENDIENTE"
});
newPedido.id = newPedido._id;
return new Promise((resolve, object) => {
input.pedido.forEach(pedido => {
Productos.updateOne({_id : pedido.id},
{ "$inc":
{"stock" : -pedido.cantidad}
}, function(error) {
if(error) return new Error(error)
}
)
});
newPedido.save((error) => {
if(error) rejects(error)
else resolve(newPedido)
});
});
}
在对input.pedito
进行迭代之前,请检查其是否存在并且是否为数组:
newPedido: (root, {input}) =>{
const newPedido = new Pedidos({
pedido: input.pedido,
total: input.total,
fecha: new Date(),
cliente: input.cliente,
estado: "PENDIENTE"
});
newPedido.id = newPedido._id;
return new Promise((resolve, object) => {
if (input.pedito && input.pedito.length > 0) {
input.pedido.forEach(pedido => {
Productos.updateOne({_id : pedido.id},
{ "$inc":
{"stock" : -pedido.cantidad}
}, function(error) {
if(error) return new Error(error)
}
)
});
}
newPedido.save((error) => {
if(error) rejects(error)
else resolve(newPedido)
});
});
}