MongoDB の ODM の 1 つである Mongoose に面白い問題があります。
mongoose.model
メソッドを単純にエイリアスしたかったのですModel
。エイリアスもチェックしました:
exports = Model = mongoose.model;
console.log(Model === mongoose.model); // returns true
私はすでにこれを行ってmongoose.Schema
おり、シームレスに機能しました。
エイリアスされたModel
変数を使用してスキーマを登録すると、次のようになります。
Model('User', UserSchema);
次のエラーが表示されます。
/node_modules/mongoose/lib/index.js:257
if (!this.modelSchemas[name]) {
^
TypeError: Cannot read property 'User' of undefined
at Mongoose.model (/node_modules/mongoose/lib/index.js:257:25)
at Object.<anonymous> (/app/models/user.js:20:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at controllers_path (/app.js:23:2)
at Array.forEach (native)
しかし、通常の形式を使用すると、エラーはまったく発生しません。
mongoose.model('User', UserSchema);
- これは のバグですか、
Mongoose.js ODM
それとも何か不足していますか?