繁体   English   中英

猫鼬默认值(如果在find中不存在)

[英]Mongoose default value if not exist in find

我们向一个模式添加了一个新字段:

第一版:

// Schema Definition Collection
const ImageSchema = new Schema({
    IdUser: String,
    Name: String,
    Source: String        
    }
}, { collection: 'Image' });


const Image = mongoose.model('Image', ImageSchema);
module.exports = Image;

新版本:

// Schema Definition Collection
const ImageSchema = new Schema({
    IdUser: String,
    Name: String,
    Source: String,
    Size: String        
    }
}, { collection: 'Image' });


const Image = mongoose.model('Image', ImageSchema);
module.exports = Image;

稍后,在带有Express的Api中,我们将返回如下模式:

exports.getImageById = co(function* (req, res) {

  const image = yield Image.findById(req.params.id).exec();
  res.json(image);

});

在我完成的jQuery ajax回调中,有时我在Size字段中未定义,但是我想让其他值(例如0kb)是空的(未填充)。 这可能吗? 还是我需要检查Size字段typeof是否不同于“ undefined”?

谢谢!

您可以在“ Size字段中添加默认值:

const ImageSchema = new Schema({
    IdUser: String,
    Name: String,
    Source: {type: String, default: '0kb'}        
    }
}, { collection: 'Image' });

这样,所有添加的没有大小的新文档都将具有此默认值。 对于已经存在的数据库,您可以更新数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM