• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

306
Vistas
Cómo hacer una API de consulta para el correo electrónico que pueda encontrar datos por correo electrónico para diferentes usuarios de mongoDB con expressJs, nodeJs

Soy nuevo en desarrollo backend con MongoDB, NodeJS y desarrollo frontend con React-JS. Quería crear un punto final de API que encontrara los datos de MongoDB y filtrara por dirección de correo electrónico del usuario cuando el usuario iniciara sesión en el sistema. Mi sistema de inicio de sesión está completamente bien. Pero el problema es que cuando trato de recuperar datos del lado del cliente, los datos de tiempo no se muestran (obtienen) en la interfaz de usuario. Encuentra y matriz vacía. Quiero saber cuál es el problema en mi código.

Aquí está mi código API para backend:

 app.get('/myproducts', async (req, res) => { const email = req.query.email; const query = { email: email }; const cursor = inventoryCollection.find(query); const myProducts = await cursor.toArray(); console.log(myProducts); res.send(myProducts); });

Código del lado del cliente:

 useEffect(() => { const getMyProducts = async () => { const email = user?.email; console.log(email); const url = `http://localhost:5000/myproducts?email=${email}`; try { await fetch(url) .then(res => res.json()) .then(data => setProducts(data)) } catch (error) { console.log(error?.message) } } getMyProducts(); }, [user])
about 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Lo resolví, hubo un error mío. Cuando agregué el producto en mi inventario esa vez, no guardé mi correo electrónico en la base de datos con esa publicación. Después de guardar mi correo electrónico en la base de datos, ahora puedo filtrar el producto por correo electrónico y también mostrarlo en la interfaz de usuario.

 const handleProductPost = (event) => { event.preventDefault(); const email = user.email; //before, I did not added this email when posting const productName = event.target.productName.value; const image = event.target.image.value; const description = event.target.description.value; const price = event.target.price.value; const quantity = event.target.quantity.value; const supplierName = event.target.supplierName.value; const product = { email, productName, image, description, price, quantity, supplierName }; fetch('https://back-pack-warehouse.herokuapp.com/product', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(product) }) .then(res => res.json()) .then(data => { if (data.insertedId) { toast('Product Added Successfully'); event.target.reset(); } }); }
about 3 years ago · Santiago Trujillo Denunciar

0

La función toArray existe en la clase Cursor del controlador Native MongoDB NodeJS. El método de búsqueda en MongooseJS devuelve un objeto Query .

En este caso, puede iniciar sesión directamente o enviar su cursor usando res.send(cursor) .

about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda