2010-11-18 7 views
4

J'ai un script complet automatique jquery qui prend un tableau JSON et l'affiche dans une table (similaire à google suggérer). Au fur et à mesure que vous le tapez, il demande des données à partir d'un script php. Ce que je voudrais faire est d'interroger ces données à partir d'une base de données MongoDB que la personne tape, mais j'en ai besoin pour correspondre à n'importe quelle partie du champ sélectionné.Comment rechercher une partie d'une chaîne dans MongoDB?

J'ai donc un champ appelé "Nom" qui a le nom et le prénom dans le même champ. Si j'ai un disque pour "John Smith" Jo Joh John et Sm Smi smith Smith devraient tous correspondre au même disque.

Utiliser $ collection-> find (array ('Nom' => 'John'). Ne correspond pas à mon dossier John Smith mais Qu'est-ce que je fais mal

Répondre

7

Vous devez utiliser des expressions régulières pour que tel que

$collection->find(array('Name' => new MongoRegex('/John/i')); 
+0

Comment puis-je écrire Spring Data Mongo repository requête pour cela? S'il vous plaît guider ... Merci, Neeta –

1

En utilisant simplement 'John' vous? sont à la recherche pour les dossiers où le nom correspond à « John » exactement Vous pouvez utiliser des expressions régulières pour correspondre à des chaînes de sous arbitraires, par exemple:.

$collection->find(array("Name" => "/.*John.*/i")); 
+0

. Yo Vous n'avez pas besoin du. * – Maxence

Questions connexes