Сохранение схемы отображения строк в базе данных Mongoose MongoDB

Чтобы сохранить схему карты строк в базе данных MongoDB с помощью Mongoose, вы можете использовать тип схемы MapMongoose. Тип Mapпозволяет определять пары ключ-значение, где ключи являются строками, а значения также являются строками.

Вот пример того, как можно определить схему карты строк с помощью Mongoose:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const MySchema = new Schema({
  myMap: {
    type: Map,
    of: String,
  },
});
const MyModel = mongoose.model('MyModel', MySchema);

В приведенном выше примере мы определяем схему под названием MySchemaс полем myMapтипа Map, которое содержит строки как ключи, так и значения..

Чтобы создать новый документ с использованием этой схемы, вы можете сделать следующее:

const newDocument = new MyModel();
newDocument.myMap.set('key1', 'value1');
newDocument.myMap.set('key2', 'value2');
newDocument.save()
  .then(() => {
    // Document saved successfully
  })
  .catch((error) => {
    // An error occurred while saving the document
  });

В приведенном выше коде мы создаем новый экземпляр MyModelи устанавливаем пары ключ-значение в поле myMapс помощью set()метод, предоставляемый типом Map. Наконец, мы сохраняем документ в базу данных с помощью метода save().

Чтобы получить документ и получить доступ к полю карты, вы можете сделать следующее:

MyModel.findOne()
  .then((document) => {
    const myMap = document.myMap;
    const value = myMap.get('key1');
    console.log(value); // Output: 'value1'
  })
  .catch((error) => {
    // An error occurred while retrieving the document
  });

В приведенном выше коде мы используем метод findOne()для получения документа из базы данных. Затем мы получаем доступ к полю myMapи извлекаем значение, связанное с ключом «key1», с помощью метода get(), предоставляемого типом Map.