$regex nie działa w właściwy sposób

$regex nie działa w właściwy sposób
Władyslaw Parchomenko
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 63
0

Cześć wszystkim !

Mam metodę w mongoRepository, która zwraca mi list obiektów, jeżeli ma określone companyId albo isGlobal i nazwa zaczyna się z jakiegoś słowa...

To działa gdy w $regex sam wpisuję "/^a/" - name : {$regex : /^a/, $options : i} . Natomiast oczywiście że chcę zrobić to w dymamiczny sposób, żeby nie tylko szukało nazwę zaczynającą się z 'a'. Niestety gdy podauję name : {$regex :** ?1**, $options : i} - nic nie dostaję z bazy danych, i to jest taki dziwne, bo w innej klasie mam podobny zapis i wszystko działa... Na czym może polegać problem?

Kopiuj
public interface MongoAssetPrototypesRepository extends MongoRepository<AssetPrototypeDocument, String> {

    @Query("{$or : [{companyId : ?0}, {isGlobal : true} ], name : {$regex : ?1, $options : i} }")
    List<AssetPrototypeDocument> findAllGlobalOrByCompanyIdAndNameStartsWith(String companyId, String searchBy);

}

99xmarcin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2420
0

https://stackoverflow.com/a/16730754/1779504

i z $options powinno być w ciapkach 'i'

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.