无效的架构配置:`model` 不是数组 `characters` 中的有效类型

Tri*_*ian 4 mongoose mongodb node.js

我正在尝试创建一个架构子文档,但出现上面列出的错误,有问题的架构看起来像这个 Schema cassuing issues

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

const CharacterSchema = new Schema();
CharacterSchema.add({
    name: {
        type: String,
        required: true
    },
    title: {
        type: String
    },
    charcterClass: { // will be limited in form creation
        type: String
    },
    level: {
        type: Number
    }
});

const Charcter = mongoose.model('User', CharacterSchema);
module.exports = Charcter;
Run Code Online (Sandbox Code Playgroud)

架构调用架构上面

const mongoose = require ('mongoose');
const Schema = mongoose.Schema;
const {CharacterSchema} = require(__dirname +'/CharacterModel.js');

const UserSchema = new Schema()
UserSchema.add({
    name: {
        type: String, 
        required: true
    } ,
    characters: [CharacterSchema]
});

const User = mongoose.model('Character', UserSchema);
module.exports = User;
Run Code Online (Sandbox Code Playgroud)

apa*_*ina 12

尝试以这种方式进行导入 const {CharacterSchema} = require(__dirname +'/CharacterModel.js').schema;

.schema在最后添加。

这篇文章与您的问题有关,您将在那里看到解释。

嵌入模式给出错误


Sau*_*try 3

用户架构:

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

const CharacterSchema = new Schema({
    name: {
        type: String,
        required: true
    },
    title: {
        type: String
    },
    charcterClass: { 
        type: String
    },
    level: {
        type: Number
    }
});

const UserSchema = new Schema({
    name: {
        type: String, 
        required: true
    } ,
    characters:{ 
        type:[CharacterSchema]
    }
});

const User = mongoose.model('User', UserSchema);
module.exports = User;
Run Code Online (Sandbox Code Playgroud)