• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

308
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error