2010-11-18 27 views
4

JSON dizisini alan ve onu bir tabloda görüntüleyen (google önerisine benzer) bir jquery otomatik tamamlama komut dosyasına sahibim. Siz yazdıkça, bir php komut dosyasından veri ister.MongoDB'de bir dizenin bir bölümünü nasıl ararım?

Yapmak istediklerim, bu verileri bir MongoDB veritabanından kişi türleri olarak sorgulamaktır, ancak seçili alanın herhangi bir bölümüyle eşleşmesi için buna ihtiyacım var.

Ayrıca, ad ve soyadı aynı alana sahip olan "Ad" adında bir alanım var. "John Smith" Jo Joh John ve Sm Smi Smit smith için bir rekor var eğer hepsi aynı kayıtla eşleşmelidir. $ Koleksiyonu-> (dizi ('Adı' => 'John') bulabilirsiniz kullanma

;. Ancak benim John Smith kayıtla eşleşmiyor Ben ne yapıyorum yanlış

cevap

7

Bunun için normal ifadeler kullanmak gerekir mesela

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

Bunun için Spring Data Mongo depo sorgusunu nasıl yazabilirim? Lütfen yönlendirin ... Teşekkürler, Neeta –

1

sizi sadece 'John' kullanarak? Adı tam olarak "John" maçları kayıtları için arıyorsunuz Sen keyfi alt dizeleri, örneğin maç için normal ifadeleri kullanabilirsiniz:.

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

. Yo İhtiyacınız yok. * – Maxence

İlgili konular