Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
29.10.2021
Размер:
72.92 Кб
Скачать

Вернёт единственный документ. Если нужно ИЛИ вместо И, мы можем использовать оператор $or и присвоить ему массив значений, например:

db.unicorns.find({gender: 'f', $or: [{loves: 'apple'}, {loves: 'orange'}, {weight: {$lt: 500}}]})

Вышеуказанный запрос вернёт всех самок единорогов, которые или любят яблоки, или любят апельсины, или весят менее 500 фунтов.

В нашем последнем примере произошло кое-что интересное. Вы заметили — поле loves это массив. MongoDB поддерживает массивы как объекты первого класса. Это потрясающе удобная возможность. Начав это использовать, вы удивитесь, как вы раньше жили без этого. Самое интересное это та простота, с которой делается выборка по значению массива: {loves: 'watermelon'} вернёт нам все документы, у которых watermelon является одним из значений поля loves.

Это ещё не все операторы. Самый гибкий оператор — $where, позволяющий нам передавать JavaScript для его выполнения на сервере. Это описано в разделе Сложные запросы на сайте MongoDB. Мы изучили основы, которые нам нужны для начала работы. Это также то, что вы будете использовать большую часть времени.

Мы видели, как эти селекторы могут быть использованы с командой find. Они также могут быть использованы с командой remove, которую мы кратко рассмотрели, командой count, на которую мы пока не взглянули, но которую вы скорее всего изучите, и командой update, с которой в дальнейшем мы проведём большую часть времени.

ObjectId, сгенерированный MongoDB для поля _id, подставляется в селектор следующим образом:

db.unicorns.find({_id: ObjectId("TheObjectId")})

Выводы к лабораторной работе

Мы пока ещё не рассматривали команду update или более интересные вещи, которые можно сделать с помощью find. Однако мы подняли MongoDB, кратко изучили команды insert и remove (изучив практически всё, что о них можно изучить) . Мы также начали исследовать find и узнали что такое селекторы MongoDB. Это неплохо для начала, и основы для дальнейшего изучения заложены. Верите или нет, но вы уже изучили практически всё, что нужно знать о MongoDB — настолько она проста и легка в изучении. Я настоятельно

рекомендую вам поэкспериментировать с вашими данными, прежде, чем можно будет двигаться дальше. Вставьте несколько новых документов — возможно в новые коллекции — и поэкспериментируйте с селекторами. Используйте find, count и remove. После нескольких ваших собственных попыток вещи, казавшиеся непонятными, станут на свои места.

Требования к сдаче лабораторной работы

1.Отчет к лабораторной работе, содержащий пошаговое исполнение заданий и промежуточные результаты

Задания к лабораторной работе

1.Установите MongoDB.

2.С помощью интерпретатора mongo создайте базы данных фамилия_db_test_1, фамилия_db_test_2, фамилия_db_test_3.

3.В каждой базе данных создайте коллекцию. Назовите их col_test_N1 (где N — номер базы данных).

4.В каждой коллекции добавьте по 5-10 документов. Используйте 3-5 текстовых и числовых полей, и по крайней мере одно поле-массив. Список полей может немного различаться в пределах одной коллекции.

5.Выведите список коллекций каждой базы данных.

6.Выведите каждую коллекцию.

7.Для коллекции из первой базы данных проведите 10 запросов, используя условия равенства, неравенства, больше, меньше, больше или равно, меньше или равно, наличия и отсутствия определенного поля.

8.Удалите все документы из коллекции второй базы данных.

9.Для коллекции из третьей базы данных проведите 5 запросов, используя условия вхождения в массив, логических связок И и ИЛИ.

10.Выведите каждую коллекцию.

11.Проведите один любой запрос на удаление для коллекции третьей базы данных.

12.Выведите коллекцию третьей базы данных.

Соседние файлы в папке Задания лабораторных работ