Теперь, когда мы узнали о ноде MongoDB драйвер, модуль узла,
который позволяет нашему узловому приложению иметь возможность взаимодействовать
с сервером MongoDB, в этом упражнении
мы будем использовать модуль узла и использовать различные методы, которые
поддерживаются модулем узла, чтобы обеспечить введение с нашего сервера MongoDB.
Чтобы начать работу, перейдите
в папку NodeJS, которую вы использовали для хранения всех ваших примеров,
а затем создайте там новую папку с именем node-mongo.
В этой папке мы разработаем
приложение NodeJS, которое взаимодействует с нашим сервером MongoDB.
Теперь убедитесь, что ваш сервер MongoDB запущен и работает,
поэтому в предыдущем упражнении мы уже видели, как наш сервер MongoDB может быть запущен.
Таким образом, поддерживайте сервер MongoDB и в
другом окне терминала или вкладке терминала или командном окне
перейдите в папку node-mongo, которую вы только что
создали, и инициализируйте приложение узла здесь.
Итак, позвольте мне ввести npm init, и мы
назовем приложение как Node-Mongo и версия,
описание Node MongoDB Пример,
и точка входа,
и автор, так же, как мы заполняли в предыдущих упражнениях.
Затем, как только файл package.json инициализирован,
откройте его в редакторе по вашему выбору.
Теперь, войдя в файл package.json,
позвольте мне представить другой скрипт здесь, как мы делали ранее, поэтому
мы скажем «start»: «node index» и сохраним изменения.
Возвращаясь к терминалу,
давайте установим модуль узла MongoDB.
Итак, введите npm install mongodb @3 .0.10 —save.
Мы также установим модуль узла assert, так что,
скажем, npm install assert @1 .4.1 —save.
Модуль assert позволяет нам использовать assert
для проверки истинных или ложных значений в нашем приложении,
и вы увидите, что я использую его позже.
Теперь, когда мы установили эти модули узла,
давайте создадим наше приложение узла, которое взаимодействует с сервером MongoDB.
Возвращаясь к редактору,
в папке проекта,
создайте файл с именем index.js,
и именно здесь мы создадим
приложение узла, которое взаимодействует с нашим сервером MongoDB.
Итак, в этом приложении,
давайте напечатаем const MongoClient,
а затем они скажут,
require (`mongoDB), модуль узла MongoDB, который мы уже установили,
и тогда это предоставит нам
MongoClient, который позволяет нам подключиться к серверу MongoDB.
Кроме того, требуется модуль assert.
Теперь, чтобы запустить соединение с сервером MongoDB,
давайте создадим постоянный URL-адрес имени, который будет URL-адрес, где сервер MongoDB может быть
доступен и доступ ребенка это,
сказав mongodb: //localhost: 27017/.
Напомним, что это номер порта, на котором ваш сервер MongoDB работает
под управлением 27017 const dbname=,
а затем мы скажем, UniGate.
Напомним, что
в предыдущем упражнении мы создали базу данных MuniCT на нашем сервере MongoDB
, так что мы собираемся получить доступ к этой базе данных MuniCT, которую мы создали ранее.
Теперь, чтобы получить доступ к серверу, мы скажем MongoClient.connect.
Таким образом, метод connect позволяет нам подключиться к MongoClient с нашего сервера MongoDB,
а затем мы скажем, что это принимает URL в качестве первого параметра,
URL сервера MongoDB в качестве первого параметра.
Второй параметр - функция обратного вызова.
Таким образом, функция обратного вызова имеет два параметра, значение ошибки
и клиент, который мы затем можем использовать
для подключения к нашей базе данных, а затем выполнять различные операции.
Итак, внутри этой функции обратного вызова
первое, что мы сделаем, это проверить, чтобы убедиться, что ошибка не равна нулю.
Таким образом, assert будет проверять, равна ли ошибка нулю,
поэтому функция assert позволяет нам выполнять различные проверки значений.
Итак, мы проверяем, чтобы убедиться, что ошибка не является,
если она не равна нулю,
то это означает, что есть ошибка, и поэтому мы покажем ошибку на экране.
Итак, это использование функции assert здесь.
Теперь, если этого не произойдет,
то это означает, что мы правильно подключены к серверу,
поэтому мы скажем «правильно подключены к серверу`
const db= client.db (dbname) для подключения к базе данных,
тогда мы можем сказать const collection db. ,
поэтому db предоставит нам различные методы, которые позволяют нам
взаимодействовать с сервером, поэтому мы скажем db.collection (`dishes`) Таким образом,
мы попытаемся получить доступ к коллекции блюд в этой базе данных.
Теперь следующее, что мы попытаемся сделать, это
collection.insertone, поэтому мы попытаемся вставить один объект в коллекцию,
и этот объект будет с
именем и описанием, «тест».
Таким образом, эта коллекция предоставляет этот метод под названием InserTone,
который позволяет нам вставить один документ в эту коллекцию,
и документ является первым аргументом этого метода здесь.
Вторым аргументом метода является функция обратного вызова,
и функция обратного вызова принимает два параметра: ошибку и результат.
Таким образом, в рамках этой функции обратного вызова,
если результат получен,
то мы можем получить доступ к коллекции, а затем выполнить дальнейшие операции.
Итак, здесь первое, что мы сделаем, это проверить, чтобы убедиться, что ошибка не равна нулю.
Итак, мы сделаем утверждение там,
а затем здесь мы можем сказать: «После вставки».
Итак, после вставки, то мы видим, что мы
получаем значение результата, которое возвращается там, поэтому этот результат.
Этот результат также предоставит
это свойство OPS, в котором указано, сколько операций только что было выполнено успешно.
Так вот, что я собираюсь распечатать.
Таким образом, он скажет, что число вставлено - это один.
Таким образом, это означает, что этот конкретный документ был вставлен в базу данных.
Так вот, что мы подтвердим здесь.
Затем, после этого, мы выполним другой вариант,
операцию над коллекцией, и скажем
, коллекцию найти, и мы попытаемся найти все записи в коллекции.
Итак, здесь мы предоставим пустую строку JSON или соответствующий объект JavaScript уровня.
Таким образом, он будет искать все, что есть в коллекции,
а затем, предоставлять это нам.
Затем это может быть преобразовано в массив объектов JSON.
Итак, вот почему мы вызываем toArray,
и это принимает функцию обратного вызова в качестве параметра.
Первый параметр, конечно, это значение ошибки, поэтому снова
мы проверяем, чтобы убедиться, что ошибка не равна нулю.
Тогда мы скажем, console.log найден,
а затем распечатаем все, что было найдено,
и мы скажем console.log.
Итак, второй параметр здесь, docs,
вернет все документы из этой коллекции,
которые соответствуют любым критериям, которые вы указываете здесь.
Так как это пусто,
то это означает, что все документы в коллекции будут возвращены нам.
Здесь можно указать фильтр,
сказав, что имя равно значению,
и затем будут извлечены только те документы, которые соответствуют этому значению.
Итак, позвольте мне просто распечатать документы здесь,
чтобы указать, что этот элемент
был вставлен в коллекцию, а затем будет извлечен,
а затем мы просто распечатаем его, чтобы убедиться, что документ, который мы только что
вставили в предыдущей операции, действительно в коллекции,
и мы распечатаем это здесь.
Теперь после этого мы будем использовать
метод DropCollection здесь.
Таким образом, DropCollection удалит указанную коллекцию здесь.
Итак, мы скажем блюда DropCollection,
поэтому я просто собираюсь удалить коллекцию блюд из моей базы данных.
Итак, я просто собираюсь очистить базу данных, а затем оставить
ее с пустой базой данных, чтобы мы могли перейти
на следующее упражнение, где мы можем снова
выполнить аналогичные операции, чтобы проверить это.
Это принимает в качестве второго параметра
функцию обратного вызова, которая возвращает либо ошибку, либо результат.
Внутри этого мы проверим и убедитесь, что утверждение не является нулевым,
а затем мы скажем, client.close.
Таким образом, мы закроем соединение с базой данных на месте.
Таким образом, этот простой набор методов позволяет нам взаимодействовать с нашим сервером,
а также он демонстрирует нам, как мы можем общаться с сервером, используя
методы, которые доступны через этот модуль узла MongoDB или драйвер MongoDB.
Итак, здесь вы видите, что сначала мы выполняем операцию вставки.
Затем после операции вставки обратите внимание, что
мы выполняем вторую операцию внутри функции обратного вызова.
Таким образом, это гарантирует, что эта операция была завершена перед выполнением следующей операции.
Итак, это второй вызов, который заключен внутри первой функции обратного вызова,
а затем, соответственно, внутри этого.
Мы снова вызываем методы здесь и внутри.
Итак, вы видите, что есть вложенность этих вызовов,
один внутри другого.
Обратите внимание на структуру, потому что я собираюсь вернуться, чтобы
объяснить что-то об этом в одном из последующих упражнений.
Итак, обратите внимание, что вложенность этих вызовов один внутри другого.
Давайте сохраним изменения,
а затем посмотрим, что это приложение делает, когда мы его выполняем.
Возвращаясь к терминалу, снова
убедитесь, что ваш сервер MongoDB работает и работает, и поэтому,
когда он работает, он собирается распечатать много сообщений журнала на консоли.
Мы можем просто игнорировать эти сообщения журнала пока.
Давайте запустим приложение узла.
Итак, скажем, npm start,
и когда приложение узла запускается,
вы замечаете, что делает приложение узла.
Так что он говорит, правильно подключен к серверу, После вставки,
то он показывает, что
этот конкретный документ был вставлен в наш MongoDB и узел в частности,
идентификатор, указанный здесь.
Итак, обратите внимание, что это не говорит, что это идентификатор объекта.
Этот идентификатор автоматически вставляется
узлом Mongo драйвер в их документ, когда
вы пытаетесь вставить его в сервер MongoDB здесь.
Этот формат точно такой же, как идентификатор объекта, который мы видели.
После этого мы провели операцию поиска.
Итак, это найдено,
а затем распечатывает этот предмет здесь.
Обратите внимание, что из предыдущего упражнения
мы оставили в предыдущем документе, который мы включили в предыдущем упражнении.
Таким образом, это все еще видно в коллекции здесь,
и новый документ, который мы только что вставили здесь.
Этот документ виден прямо ниже этого,
но обратите внимание, что эти два имеют два разных идентификатора.
Этот идентификатор соответствует идентификатору документа, который мы только что вставили.
Итак, это остаётся от предыдущего упражнения.
После этого, конечно, мы отбрасываем коллекцию, так что
весь набор документов и коллекция блюд будут удалены из нашей базы данных.
Итак, теперь наша база данных будет чистой и пустой.
Таким образом, это демонстрирует вам, как мы можем использовать
драйвер MongoDB для связи из нашего приложения узла с сервером.
Теперь, когда у нас есть наше приложение,
позвольте мне представить
здесь a.gitignore, а затем поместить модули узлов в.gitignore,
и вы быстро понимаете, почему я это делаю.
Затем мы вернемся и инициализируем репозиторий Git, а затем выполним git фиксацию.
Возвращаясь к терминалу,
позвольте мне инициализировать репозиторий Git,
а затем, давайте проверим статус Git, и вы увидите, что есть некоторые незафиксированные файлы.
Поэтому позвольте мне проверить их, а затем выполнить git фиксацию с сообщением,
Node MongoDB Пример один.
Это первая часть упражнения,
поэтому мы просто проверим элементы в нашем репозитории git.
Это упражнение завершается.
В этом упражнении мы видели, как мы устанавливаем модуль узла,
драйвер MongoDB, затем,
мы смогли связаться с нашим сервером MongoDB из
нашего приложения узла, используя методы, которые предоставляются драйвером MongoDB.
Мы продолжим это упражнение в следующей части
упражнения, где мы рассмотрим еще несколько методов драйвера MongoDB.