私はTypeScriptでmongooseモデルを実装しようとしていますが、それは機能しません。このコードではなく、警告をコンパイル:Typescript:mongooseスキーマの静的メソッド
import crypto = require('crypto')
import mongoose = require('mongoose')
mongoose.Promise = require('bluebird')
import {Schema} from 'mongoose'
const UserSchema = new Schema({
name: String,
email: {
type: String,
lowercase: true,
required: true
},
role: {
type: String,
default: 'user'
},
password: {
type: String,
required: true
},
provider: String,
salt: String
});
/**
* Methods
*/
UserSchema.methods = {
// my static methods... like makeSalt, etc
};
export default mongoose.model('User', UserSchema);
しかしtypescriptですが不平を言っている:
error TS2339: Property 'methods' does not exist on type 'Schema'.
を、私はいくつかのインターフェイスを拡張する必要があることを前提としています。これを指すポインタはどれですか?
変数をインポートすると機能しない点を除いて、本当に良いです。 'mongoose'からimport {Schema} インポート宣言が 'Schema'のローカル宣言と競合します – Nico
また、スキーマが一部であるモジュールを拡張し、スキーマを直接作成しないでください。スキーマの入力を見て、どのモジュールが入っているかを確認します。 – ArcSine
私は正しく理解しているかどうかはわかりません。あなたは詳しく説明できますか? – Nico