Чтобы сохранить схему карты строк в базе данных 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.