Как это исправить, я получил ошибку «Схема не является конструктором»

#javascript #node.js #mongoose

#javascript #node.js #мангуст

Вопрос:

я хочу создать один вводимый текст и сохранить результат в разделенных полях на MongoDB. я получил ошибку «Схема не является конструктором», как это исправить

 const mongoose = require('mongoose');
const profileSchema = mongoose.Schema;

const Scheme = new profileSchema({
        fullName:String,
        age:Number,
        address:String    
});

dataSchema = new Scheme({
    data : {
        type: Scheme,
        required: true
    }
});

var Profile = mongoose.model('Profile', dataSchema);

var profile = new Profile();
var error = profile.validateSync();
assert.ok(error.errors['data']);
  

Комментарии:

1. Scheme != Schema — У вас опечатка. Также type: Schema (с исправлением) не имеет смысла. Вам, вероятно, следует еще немного прочитать документацию mongoose , прежде чем продолжить.

2. я хочу создать вложенный объект с объявлением Sceme в новой profileSchema и dataSchema в новой схеме.

3. Вместо этого сделайте const profileSchema = new Schema({ ... }) , а затем const dataSchema = new Schema({ data: profileSchema }) вот так. Schema Это реальная вещь с конструктором. Опять же, ссылка, которую я только что дал вам, объясняет «Схему» в мельчайших подробностях. Либо встроенные, либо ссылочные объекты и массивы. Ваша ошибка говорит мне, что вам нужно потратить больше времени на чтение документации и пробуя примеры, прежде чем внедрять свой собственный код. Когда вы поймете это лучше, тогда вы сможете с легкостью делать то, что хотите.

4. Конечно, ... здесь это просто заполнитель для фактического определения полей, которые вы хотите там ввести. Не просто вводите ...

5. спасибо, я просто новичок в такого рода материалах