Как я могу использовать "не нравится" на Laravel Mongodb?

Я вижу здесь: https://github.com/jenssegers/laravel-mongodb

Я попробую:

$user = Comment::where('body', 'like', '%spam%')->get();

Оно работает

Но когда я пытаюсь:

$user = Comment::where('body', 'not like', '%spam%')->get();

Это не работает

Кажется, библиотека не поддерживает не нравится

Есть ли люди, которые знают, как это обойти?

2 ответа

Я верю like в любом случае преобразуется в регулярные выражения, так что вы можете сделать это как not regexp:

$user = Comment::where('body', 'not regexp', '/spam/i'))->get();

работает в 2023 году наjenssegers/mongodbv3.9. Мы также можем увидеть операторnot likeперечислены под$operatorsмассив внутри исходного кода пакета здесь src/Query/Builder.php.

Например, в коллекции из 10 документов:

Предположительно, следующий запрос вернет 3

      Comment::where('body', 'like', '%spam%')->count();

Тогда следующий запрос вернет 7

      Comment::where('body', 'not like', '%spam%')->count();
Другие вопросы по тегам