奇妙なことに出会いました。私はいくつかのマングースモデルを持っています-そして、それらの1つで(1つだけで!)私はこのエラーを受け取ります:
TypeError: Schema is not a constructor
いくつかの作業スキーマがあるため、非常に奇妙です。ロギングを試みましたmongoose.Schema
動作していないスキーマであり、実際に動作しているスキーマでのmongoose.Schemaとは異なります。それはどのように可能ですか?コードはほとんど同じです。動作しないスキーマのコードは次のとおりです。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var errSchema = new Schema({
name: String,
images:[{
type:String
}],
sizes:[{
type: String
}],
colors:[{
type: Schema.ObjectId,
ref: 'Color'
}],
frontColors:[{
type: Schema.ObjectId,
ref: 'Color'
}],
script: Boolean
},{
timestamps: true
});
var Err = mongoose.model('Err', errSchema);
module.exports = Err;
作業スキーマのコード:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var colorSchema = new Schema({
name: String,
image: String,
rgb: String,
comment: String,
});
var Color = mongoose.model('Color', colorSchema);
module.exports = Color;
助けていただければ幸いです!
Schema.Types.ObjectId
ではなくSchema.ObjectId
である必要があります。 http://mongoosejs.com/docs/schematypes.html
私は同じことに遭遇しました。このような以前のコードがあります
var mongoose = require('mongoose');
var Schema = mongoose.Schema();
var schema = new Schema({
path : {type:string , required:true},
title: {type:string , required: true}
})
module.export = mongoose.model('game', schema);
その後、以下のスクリプトを使用してコンストラクターの問題を解決しました
var mongoose = require('mongoose');
var schema = mongoose.Schema({
path : {type:string , required:true},
title: {type:string , required: true}
})
module.export = mongoose.model('game', schema);
大文字のスキーマをインポートすることでこの問題を解決しました。
前::
const Scheme = mongoose.schema;
修正後:
const Schema = mongoose.Schema;
完全なスキーマ:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const ItemSchema = new Schema({
name : {
type: String,
required : true
},
date : {
type : Date,
default : Date.Now
}
});
module.exports = mongoose.model('Item', ItemSchema);
パーティーに遅れていることを理解してください
const mongoose = require('mongoose');
const Scheme = mongoose.Schema;
const ItemSchema = new Scheme({
name: {
type: String,
require: true
},
date: {
type: Date,
default: Date.now
}
});
module.exports = Item = mongoose.model('Item', ItemSchema);