代码之家  ›  专栏  ›  技术社区  ›  ALPHA

mongoose子文档字段.id未定义

  •  0
  • ALPHA  · 技术社区  · 7 年前

    猫鼬文件

    const mongoose = require('mongoose');
    const Schema = mongoose.Schema;
    const config = require('../config/config');
    
    
    
    // Result schema
    const ResultsSchema = new Schema({
        subject_id: {
            type: mongoose.SchemaTypes.ObjectId,
            required: false
        },
        marks: {
            type: [String], // when needed to store absent as well
            required: false
        }
    });
    
    // Batch Schema
    const BatchSchema = new Schema({
        student_base_no: {
            type: mongoose.SchemaTypes.ObjectId,
            required: false,
        },
        results: [ResultsSchema]
    });
    
    // Marks schema
    const MarksSchema = new Schema({
    
        date: {
            type: Date,
            default: Date.now,
            required: true
        },
        year: {
            type: String,
            default: (new Date).getFullYear(),
            required: true
        },
        batch: {
            type: String,
            required: true
        },
        batch_results: [BatchSchema]
    
    });
    
    
    
    const Marks = module.exports = mongoose.model('marks', MarksSchema, 'marks');
    

    使用这段代码,我尝试获取输出,

    var a = Marks.batch_results.id(id)
    

    但它一直在说 无法读取未定义的属性“id”

    我试了很多,但都不好:(

    1 回复  |  直到 7 年前
        1
  •  1
  •   SanSolo    7 年前

    const BatchSchema = new Schema({
        student_base_no: {
            type: mongoose.SchemaTypes.ObjectId,
            required: false,
        },
        results:{
             type: Schema.Types.ObjectId,
              ref: 'results' 
           }
    })