В сегодняшней истории мы поговорим о MongoDB, чтобы заменить наши файлы JSON для сохранения данных. для тех, кто не следил за моей последней историей, вы можете проверить это здесь :)





Почему MongoDB??

MongoDB — это документно-ориентированная база данных, в которой может храниться неструктурная информация. поэтому в основном, когда вы создаете таблицу в структурной базе данных, пример будет таким.

CREATE TABLE parents (
  id NUMBER,
  name VARCHAR2(100),
  address VARCHAR(100)
)

и ваши данные при выборе, вставке и обновлении будут иметь один и тот же столбец (идентификатор, имя, адрес).

при использовании MongoDB вы можете сохранять данные с разными столбцами в каждой строке. обратите внимание, что в реализации лучше сделать так, чтобы каждая строка имела один и тот же столбец (рекомендация), но если вы хотите сделать его немного другим, это нормально. поэтому мы будем внедрять MongoDB в наш проект в качестве исходных данных. Ах да, вот пример данных, хранящихся в MongoDB.

Особенность MongoDB в том, что вы можете хранить вложенные данные внутри данных. согласно документации MongoDB, он может выполнять 100 уровней вложенных данных. Чтобы установить MongoDB на локальный сервер, вы можете использовать MongoCompass. инструкцию можно посмотреть на странице MongoDB или в этой статье от London App Brewery





Создание новой базы данных и коллекции

Первый шаг, который необходимо сделать для создания базы данных, — это подключение к MongoDB. для этого сначала откройте MongoDB Compass, чтобы запустить локальное подключение к локальной базе данных.

Вы можете просто нажать кнопку «Подключиться», чтобы запустить локальный сервер базы данных. затем вы будете перенаправлены на страницу баз данных. здесь вы можете создать новую базу данных. при запуске вы увидите 3 базы данных, эта база данных используется приложением по умолчанию.

Здесь вы можете видеть, что есть база данных WhatsApp. это моя база данных, вы можете создать новую базу данных с другим именем, как вам нужно. Следующий шаг — создание коллекций, коллекция такая же, как таблица в обычной базе данных.

Вот пример коллекции, я назвал ее «родители», как старый файл JSON, который я использовал для хранения родительских номеров. после того, как вы сделаете свою коллекцию, попробуйте щелкнуть свою коллекцию. Здесь вы увидите пустую страницу, что означает, что у вас нет данных внутри вашей коллекции. Чтобы создать новые данные, вы можете увидеть строку cmd в нижней части компаса MongoDB.

Чтобы сделать его больше, чтобы вы могли видеть больше строк, просто потяните линию CMD вверх, и она будет выглядеть так.

здесь вы можете видеть, что ваша текущая база данных является тестовой. Чтобы изменить его на свою базу данных, вы можете ввести «использовать WhatsApp», например, имя моей базы данных — WhatsApp.

чтобы добавить новые данные, введите команду

db.parents.insert([{ name: "new name", phone: 123123 }])

code descriptions:
db.[collection name].insert({ your data })

чтобы просмотреть вставленные данные, используйте команду find(). для этого вы можете использовать

db.parents.find()

find() в основном показывает все ваши данные. что, если вы хотите сделать это более конкретным? вы можете добавить параметры внутри функции find(). Для этого, вот мой пример данных.

{
  _id: ObjectId("64bbb3672b4b6fb59d8bbed9"),
  name: 'hehe',
  age: '12'
}
{
  _id: ObjectId("64bbb37f2b4b6fb59d8bbeda"),
  lastname: 'hoho',
  address: 'ansdkwl'
}
{
  _id: ObjectId("64bbc2f3339f712a2eff681a"),
  name: 'John Doe',
  address: '19 Quai de la Tournelle, 75005 Paris, France',
  phone: '6282345678900',
  children: {
    name: 'Laura Doe',
    class: '3rd Grade'
  }
}
{
  _id: ObjectId("64bbc2f3339f712a2eff681b"),
  name: 'Loid Forger',
  address: '128 Park Avenue, West Berlint ',
  age: '30',
  phone: '6282345678900',
  children: {
    name: 'Anya Forger',
    class: '3rd Grade'
  }
}
{
  _id: ObjectId("64bbd20cafcae4e3ba0f2c5e"),
  name: 'new name',
  phone: 123123
}

Например, «Я хочу получить данные о родителях в возрасте 30 лет», тогда ваш запрос будет таким:

приведенный выше код означает, что вы находите данные с именем поля «возраст» и значением поля «30». но что, если вы хотите найти данные о вложенном? В этом случае нам нужны данные с дочерним именем Laura Doe, поэтому нам нужно указать такой параметр.

db.parents.find({ "children.name": "Laura Doe" })

чтобы найти вложенный объект, вам нужно сначала найти объект. здесь, как вы можете видеть, имя находится под дочерним объектом, чтобы вытащить имя внутри дочернего объекта, вам также нужно вызвать родителя, что означает «children.name», чтобы вы могли указать свой целевой параметр.

Теперь мы знаем основы MongoDB, в следующей истории я расскажу о том, как мы связываем MongoDB с Node JS. следите за новостями, ребята 👋