1. ホーム
  2. mongodb

[解決済み] スキーマを定義せずにMongooseを使用するには?

2022-05-18 11:26:12

質問

以前のバージョンの Mongoose (node.js 用) では、スキーマを定義しないで使うオプションがありました。

var collection = mongoose.noSchema(db, "User");

しかし、現在のバージョンでは "noSchema" 関数は削除されています。私のスキーマは頻繁に変更される可能性があり、定義されたスキーマには本当に合わないので、mongooseでスキーマレスモデルを使用する新しい方法はないでしょうか?

どのように解決するのですか?

私はこれがあなたが探しているものだと思います マングース ストリクト

オプション: strict

strictオプション(デフォルトで有効)は、スキーマで指定されていないモデルインスタンスに追加された値が、データベースに保存されないことを保証するものです。

注意: 正当な理由がない限り、falseに設定しないでください。

    var thingSchema = new Schema({..}, { strict: false });
    var Thing = mongoose.model('Thing', thingSchema);
    var thing = new Thing({ iAmNotInTheSchema: true });
    thing.save() // iAmNotInTheSchema is now saved to the db!!