美文网首页JS开发
mogoose的虚拟属性使用备忘

mogoose的虚拟属性使用备忘

作者: JohnYuCN | 来源:发表于2020-01-01 15:56 被阅读0次
const mongoose = require('mongoose')

mongoose.connect('mongodb://localhost/test3',function (err) {
    if(!err) mongoose.disconnect()
})
const Schema = mongoose.Schema;

let schema = new Schema({first: String, last: String})

//产生VirtualType对象,并设置virtual的setter和getter
schema.virtual('fullname')
    //坑:此处不可使用箭头函数
    .get(function () {
        return this.first + " " + this.last
    })
    //坑:此处不可使用箭头函数
    .set(function (value) {
        this.first = value.split(' ')[0]
        this.last = value.split(' ')[1]
    })

//存入操作,会使用到setter方法
let Customer=mongoose.model('Customer',schema);
Customer.create({fullname:'John Yu'})
    .then(nc=>console.log(nc))

//读取操作:会使用到getter方法
Customer.findOne({first: 'John'})
    .then(c=>console.log(c.fullname))






相关文章

网友评论

    本文标题:mogoose的虚拟属性使用备忘

    本文链接:https://www.haomeiwen.com/subject/fvfgoctx.html