我使用mongoose库从MongoDB数据库中检索数据,并且我遇到了一个不寻常的问题。我正在使用这些模式:
weak
这是出现问题的代码:
var imgSchema = new mongoose.Schema({
data: Buffer,
contentType: String
});
var carsSchema = new mongoose.Schema({
_owner : { type: mongoose.Schema.ObjectId, ref: 'User' },
year: Number,
brand: String,
model: String,
name: String,
carImage: [imgSchema],
kmTraveled: Number,
fillups: [fillupsSchema],
reminders: [remindersSchema]
})
输出如下:
app.get('/api/cars/:carId/image', function(req, res) {
console.log('Returning image...');
Car.findById(req.params.carId)
.populate('carImage')
.exec(function(err,car) {
if(!err) {
console.log('carImage: ' + car.carImage);
console.log('contentType: ' + car.carImage.contentType);
console.log('Data: ' + car.carImage.data);
}
...
正如您所看到的, contentType 和数据成员位于对象内部,但是当我尝试访问它们时,它们就像它们不存在一样。这可能是什么问题? 我应该补充说,图像实际上存储在一个单独的集合中,就像用户一样,但我没有在汽车架构中包含ref。这可能是问题吗?
编辑:是的,这就是问题,它现在有效。问题被驳回。