sql >> データベース >  >> NoSQL >> MongoDB

マングースjsで同じスキーマをネストする方法

    警告には、「参照または配列を使用してのみネストできます」と既に示されています。これはマングースのデザインです。

    しかし、あなたにできることは次のとおりです。

    var MySchema = new mongoose.Schema({
        objectId: String,
        parent: {
            type: mongoose.Schema.ObjectId,
            ref: 'MySchema'
        },
    })
    

    これはスキーマ内のスキーマを使用し、次に「事前保存」を使用して親のデータを更新できます。または、参照の配列を使用して、1つの要素のみを保持することもできます。

    モデルではなくスキーマをエクスポートして、ネストできるようにします。次のようになります。

    module.exports = MySchema;
    

    次に、次のように、スキーマのコレクションのモデルを設定するためのappModelがあります(app_model.js):

    if(mongoose.modelNames().indexOf('mySchema') < 0) mongoose.model('mySchema', mySchema);
    



    1. 保存されたUTC日付を現地時間に変換するマングース?

    2. MongoDBの更新:既存のフィールドに基づいて新しいフィールドを生成するか、その場で更新します

    3. 遅いMongoDBクエリ:理由を説明できますか?

    4. MongoDBはクエリを正規化できません:BadValueテキスト式が多すぎます