У меня есть модель mon goose:
const mongoose = require('mongoose');
const id = mongoose.Schema.Types.ObjectId;
const templateSchema = mongoose.Schema({
_id: id,
heading: {
type: String,
required: true
},
content: {
type: String,
required: true
}
});
module.exports = mongoose.model("template", templateSchema);
В моем приложении у меня есть контроль API покоя на основе ролей. Администратор может создавать эти шаблоны, которые в дальнейшем будут использоваться клиентом / пользователем в веб-интерфейсе. Но для инициализации мне нужно создать 3-4 шаблона по умолчанию в базе данных через admin.
Эти шаблоны по умолчанию будут отображаться / извлекаться из самой базы данных, как только приложение запускается. Далее администратор создаст новые дополнительные шаблоны, используя соответствующую конечную точку, которая будет отправлена на существующие данные шаблонов по умолчанию.
Я читал об использовании static methods
в модели mon goose, но не уверен, что это правильный подход.
Хотя я пробовал следующий JS подход, но это не сработало.
const mongoose = require("mongoose");
const id = mongoose.Schema.Types.ObjectId;
const templateSchema = mongoose.Schema({
_id: id,
heading: {
type: String,
// required: true,
},
content: {
type: String,
// required: true,
},
});
module.exports = mongoose.model("template", templateSchema);
// let Template = mongoose.model("template", templateSchema);
let defaultTemplates = [
{
heading: "CONNECTION REQUEST",
content:
"<div><p>Dear Mark,</p><p>It was great meeting you at the ESRI conference in San Diego last month.The mapping and charting work you do for airports sound fascinating.I'd definitely like to stay up-to-date with your career.</p><p>Thank you,</p><p>Lindsey</p></div>",
},
{
heading: "MESSAGE AFTER CONNECTION ACCEPTED",
content:
"<div><p>Dear Mark,</p><p>It was great meeting you at the ESRI conference in San Diego last month.The mapping and charting work you do for airports sound fascinating.I'd definitely like to stay up-to-date with your career.</p><p>Thank you,</p><p>Lindsey</p></div>",
},
{
heading: "INTRESTED MESSAGE",
content:
"<div><p>Dear Mark,</p><p>It was great meeting you at the ESRI conference in San Diego last month.The mapping and charting work you do for airports sound fascinating.I'd definitely like to stay up-to-date with your career.</p><p>Thank you,</p><p>Lindsey</p></div>",
},
];
let new_details = [];
defaultTemplates.forEach((temp) => {
temp._id = new mongoose.Types.ObjectId();
new_details.push(temp);
});
templateSchema.statics.saveTemplate = function(new_details, callback){
var template = new this(new_details);
template.save(callback);
};
Он не сохраняет шаблоны в базу данных и снова и снова выдает следующую ошибку:
Template.saveTemplate(function(result) {
^
TypeError: Template.saveTemplate is not a function
Пожалуйста, помогите мне решить эту проблему.