Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

90
Visualizações
Redux y MongoDB no crean un nuevo documento

Tengo un problema cuando creo el primer pedido. No puedo hacer un nuevo pedido después de eso. El servidor responde con un 404

 ":5006/api/orders:1 Failed to load resource: the server responded with a status of 404 (Not Found) apiRequests.js?t=1641540961019:30 Request failed with status code 404".

¡Gracias por ayudar!

El mensaje de error:

 { "error": true, "message": "E11000 duplicate key error collection: MERN-AMAZON.orders index: userId_1 dup key: { userId: \"61cd3c5d004cba23aa81a85b\" }" }

En el modelo no tengo que ser único el id.

Modelo de pedido

 const OrderSchema = new Schema({ userId:{ type:String, required:true }, products:[ { productId:{ type:String, }, title:{ type:String }, image:{ type:String }, price:{ type:Number }, quantity:{ type:Number, default:1 }, _id:false } ], amount:{ type:Number, required:true } },{timestamps:true})

Confirmar pedido

 useEffect(() => { if(searchParams.get("status") === "approved" && user){ //Payment service has an autoreturn and modify the url with a query when the payment is approved. Example: /orders/?approved=true setSearchParams("") //Delete query because make a emptys orders in my DB addOrders({ userId:user.user._id,products:cart.products,amount:cart.total},user.token,dispatch)//POST the new order dispatch(emptyCart()) //Empty my shop-cart } }, [])

Crear controlador de orden

 exports.createOrder = async (req,res)=>{ let order = req.body let modifyProducts = order.products.map(elem => { return {productId:elem._id,quantity:elem.quantity,title:elem.title,image:elem.image,price:elem.price} } ) console.log(modifyProducts) const newOrder = new Order({userId:order.userId,products:modifyProducts, amount:order.amount }) try { const createOrder = await newOrder.save() res.status(200).json(createOrder) } catch (error) { res.status(404).json({error:true,message:error.message}) }}

addOrder Despacho

 export const addOrders = async (order,token,dispatch)=>{ //Tengo que sacar el query que me devuelve ML porque me crea orders try{ let newOrder = await axios({ method:"POST", url:"http://localhost:5006/api/orders", data:order, headers:{ Authorization: `Bearer ${token || " "}` } }) console.log(newOrder) dispatch(ordersAdd(newOrder.data)) }catch(err){ console.log(err.message) //This error appears on console }}
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El "índice: userId_1" en el mensaje de error indica que hay un índice en el campo "userId" en la base de datos.

Suelte el índice y esto no debería suceder más.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda