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

125
Visualizações
El sistema de búsqueda no funciona - MongoDB y Next JS

Estoy tratando de crear un sistema de búsqueda para mi API Next JS. Esta API almacena algunos datos como los precios del combustible y el nombre de la estación de combustible, etc. A continuación se muestra el código:

 class ApiFeatures { constructor(query, queryStr) { this.query = query; this.queryStr = queryStr; } search() { const keyword = this.queryStr.keyword ? { $or: [ //Causing the issue { name: { $regex: this.queryStr.keyword, $options: "i", }, }, { email: { $regex: this.queryStr.keyword, $options: "i", }, }, { //I think this is causing issue. Please read down below for more details. petrolPumpName: { $regex: this.queryStr.keyword, $options: "i", }, }, ], } : {}; this.query = this.query.find({ ...keyword }); return this; }

Función API de Next JS.

 const handler = catchAsyncErrors(async (req, res) => { const apiFeature = new ApiFeatures( //\/ this function is called without searching User.find().select("-role -verified"), req.query // \/ calling the search function ).search(); const users = await apiFeature.query; if (users.length === 0) { return res.status(404).json("No User Found"); } return res.status(200).json(users); }); export default connectToMongo(isAuthenticated(catchAsyncErrors(handler)));

usando esta función, estoy tratando de obtener datos solo para la consulta solicitada. Ejemplo: si la URL de consulta es - http://localhost.com/users?keyword=username , entonces quiero una lista de todos los usuarios con ese user en particular, pero en su lugar busca a todos los usuarios como lo hace la función find() normal de MongoDB.


**Explicación**
Funcionamiento de esta API
para combustible api
URL en la aplicación Next JS = `http://localhost.com/fuelStation`
URL de consulta llamada = `http://localhost.com/fuelStation?keyword=AbcfuelStation`
Datos devueltos =
 { "rate": 50, "quantity": 100, "amount": 5000, "fuelStationName": "Abc fuel Station" }, // Why this is below one? \/ { "rate": 50, "quantity": 100, "amount": 5000, "fuelStationName": "XYZ" }
about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Dentro de ese método de consulta de búsqueda, puede pasar el campo en particular con su valor y luego le dará solo ese documento. Por ejemplo:

Usuario.find({nombre:"nombre de usuario"});

solo le devolverá el usuario con ese nombre solamente.

about 4 years ago · Santiago Gelvez 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