Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

449
Views
Búsqueda de texto completo de nombre de usuario en Meteor.users

Estoy tratando de buscar en la colección de meteor.users por nombre de usuario.

He seguido todos los pasos detallados aquí , pero parece que no puedo hacer que funcione meteor.users .

Aquí está el código que tengo para eso:

Al iniciar el servidor:

 Meteor.startup(function(){ Meteor.users._ensureIndex({ "username":"text", }); });

En mi función de publicación:

 Meteor.publish("Meteor.users.userSearch",function(searchVal){ if(!searchVal){ return Meteor.users.find({}); } return Meteor.users.find({$text:{$search:searchVal}}); });

En el cliente:

 Template.foo.helpers({ users(){ var searchValue = Session.get('searchVal'); Meteor.subscribe('Meteor.users.userSearch',searchValue); return Meteor.users.find({}); } });

¿Puede alguien ayudarme a averiguar qué está mal con lo anterior?

Cuando no hay searchValue , funciona correctamente y se devuelven todos los usuarios. Tan pronto como haya algún valor de búsqueda, no se devolverá ningún usuario.

También probé directamente en la consola db.users.find({$text:{$search:"some_test"}}) y nuevamente no se devolvió ningún objeto de colección.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No necesita realizar una búsqueda de texto completo si solo desea buscar el valor de un solo campo (nombre de username en este caso). Usar el comando de find normal con el valor Regex como valor de búsqueda es mejor en este caso:

 Meteor.users.find({ username: new RegExp('user1', 'gi'), });
over 4 years ago · Santiago Trujillo Report

0

asegurarIndex: en desuso desde la versión 3.0.0 : db.collection.ensureIndex() ahora es un alias para db.collection.createIndex( ).

_ensureIndex parece ser huérfano.

 Meteor.startup(function(){ Meteor.users.createIndex({ "username":"text" }); });
over 4 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 Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!