gpt4 book ai didi

javascript - 在 Mongoose 中使用 Virtual 来返回查询的全名

转载 作者:行者123 更新时间:2023-12-03 11:33:25 24 4
gpt4 key购买 nike

我想使用 Mongoose 进行查找查询并获取带有用户全名的返回结果。现在,我有 2 个字段,名字和姓氏。当我查询数据库时,我希望 Mongoose 连接名字和姓氏并返回一个名为 fullName 的字段。 Mongoose 可以做到这一点吗?

另一种方法是查询数据库,获取结果,然后循环每个对象并在循环的每次迭代中分配 fullName。我觉得我可以通过某种方式利用 Mongoose 虚拟。

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'}]
});

最佳答案

您可以通过设置 toObject 让虚拟出现在您的 console.log 输出中。将 UserSchema 上的选项设置为 { getters: true }:

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

关于javascript - 在 Mongoose 中使用 Virtual 来返回查询的全名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26640919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com