Javascript 使用虚拟主机在Mongoose中返回查询的全名

Javascript 使用虚拟主机在Mongoose中返回查询的全名,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我想用mongoose执行一个查找查询,并得到返回的带有用户全名的结果。现在,我有两个字段,firstName和lastName。当我查询数据库时,我希望mongoose连接firstName和lastName,并返回一个名为fullName的字段。猫鼬能做到这一点吗 另一种方法是查询数据库,获得结果,循环每个对象,并在循环的每次迭代中指定全名。我觉得有一种方法可以利用猫鼬的虚拟空间 UserSchema .virtual('name.full') .get(function () {

我想用mongoose执行一个查找查询,并得到返回的带有用户全名的结果。现在,我有两个字段,firstName和lastName。当我查询数据库时,我希望mongoose连接firstName和lastName,并返回一个名为fullName的字段。猫鼬能做到这一点吗

另一种方法是查询数据库,获得结果,循环每个对象,并在循环的每次迭代中指定全名。我觉得有一种方法可以利用猫鼬的虚拟空间

UserSchema
.virtual('name.full')
   .get(function () {
   return this.name.firstName + ' ' + this.name.lastName; 
});
查询示例:

User.find().exec()
.then(function(data){
    console.log(data);  //Should print out [{ _id: 123123232322, firstName:'john', lastName: 'Doe'}]
    //I would like it to print out: [{ _id: 123123232322, firstName:'john', lastName: 'Doe', fullName: 'John Doe'}]
});

通过将
UserSchema
上的选项设置为
{getters:true}
,可以在
控制台中显示virtuals.log
输出:

UserSchema.set('toObject', { getters: true });