Для формирования запроса к MongoDB с поиском по int-полям вам понадобится использовать операторы сравнения.
В Laravel для работы с MongoDB можно использовать библиотеку "jenssegers/mongodb". Чтобы начать, убедитесь, что вы установили эту библиотеку с помощью Composer.
После установки библиотеки вы должны настроить ваше соединение с MongoDB в файле config/database.php
:
'mongodb' => [ 'driver' => 'mongodb', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', 27017), 'database' => env('DB_DATABASE'), 'username' => env('DB_USERNAME'), 'password' => env('DB_PASSWORD'), 'options' => [ 'database' => 'admin' // это дефолтная база данных в MongoDB ] ],
После настройки соединения с MongoDB вы можете создать модель для вашей коллекции данных. Создайте новую модель, например User
, с помощью команды Artisan:
php artisan make:model User
После создания модели вы можете использовать методы where
и orWhere
для формирования запроса к коллекции пользователей. Если вы хотите найти записи, у которых поле age
больше или равно заданного значения, вы можете сделать так:
$users = User::where('age', '>=', $age)->get();
Вы также можете использовать операторы сравнения <
, <=
, >
, >=
и <>
, чтобы задать более точные критерии поиска.
$users = User::where('age', '>', $minAge) ->where('age', '<', $maxAge) ->get();
Помимо основных операторов сравнения, MongoDB также предоставляет дополнительные операторы, такие как $in
и $nin
, которые позволяют вам искать значения в заданном списке или исключать значения из списка соответственно.
$users = User::whereIn('age', [18, 20, 25])->get();
Это пример запроса, который будет искать всех пользователей, у которых поле age
равно 18, 20 или 25.
Кроме того, вы можете использовать метод orWhereIn
для добавления условия ИЛИ в запрос:
$users = User::where('name', 'John') ->orWhereIn('age', [18, 20, 25]) ->get();
Этот запрос найдет всех пользователей с именем "John" или возрастом 18, 20 или 25.
Вот некоторые из базовых операторов сравнения, которые вы можете использовать в запросах к MongoDB с помощью Laravel и библиотеки "jenssegers/mongodb". Это лишь некоторые из возможностей, и вы можете найти больше информации в документации MongoDB и библиотеки Laravels.