子文档猫鼬返回[object]

时间:2019-09-02 19:46:12

标签: express mongoose

以[对象]而不是值的形式返回子文档

我正在尝试从子文档中检索值。但是子文档将作为[对象]返回。我已经阅读了几个有关此问题的线程,并尝试了下面的代码解决方案,该解决方案仍然给了我[object]而不是值。

MongoDB文档示例:

{
    "_id" : ObjectId("5d6b764d95d5d00337ce4a61"),
    "city" : "Berlin",
    "courses" : [ 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }
    ]
}

“ /课程”的路线

// Get all courses in the db
coursesRoutes.route('/courses').get(function(req, res, next) {
    courses.find(function(err, course) {
        if (err) {
            return next(new Error(err));
        }
        if (course) {
            console.log(course);
            // console.log(util.inspect(JSON.stringify(course), true, 10))
        }
    });

    res.json(courses);
});

我为我的模型尝试了以下代码:

// Define collection and schema for todo item
var course = new mongoose.Schema(
    {
        course_date_start: String,
        course_date_end: String,
        course_price: String,
        course_trainer: String,
        date_added: String,
    }
);

var courses = new mongoose.Schema(
    {
        _id: {
            type: mongoose.Schema.Types.ObjectId,
            required: true
        },
        city: {
            type: String
        },
        courses: [course],
        child: course
    },
    {
        collection: 'courses'
    }
);

及以下

var courses = new mongoose.Schema(
    {
        _id: {
            type: mongoose.Schema.Types.ObjectId,
            required: true
        },
        city: {
            type: String
        },
        courses: [{
            course_date_start: String,
            course_date_end: String,
            course_price: String,
            course_trainer: String,
            date_added: String,
        }]
    },
    {
        collection: 'courses'
    }
);

按现在的状态访问端点localhost /课程时,我的“错误”控制台日志输出:

  {
    _id: 5d6b764d95d5d00337ce4a61,
    city: 'Berlin',
    courses: [ [Object], [Object], [Object], [Object], [Object], [Object] ]
  }

预期的控制台日志输出:

  {
    _id: 5d6b764d95d5d00337ce4a61,
    city: 'Berlin',
    courses: [{
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }, 
        {
            "course_date_start" : "2019-09-26",
            "course_date_end" : "2019-09-27",
            "course_price" : "2750",
            "course_trainer" : "Nux Company",
            "date_added" : "2019-09-01 07:42:05"
        }]
  }

0 个答案:

没有答案