gpt4 book ai didi

node.js - 执行 find() 时在 Mongoose 中调用虚方法

转载 作者:可可西里 更新时间:2023-11-01 10:19:27 24 4
gpt4 key购买 nike

我已经在 Mongoose Schema 中创建了这样一个虚拟方法:

UserSchema.virtual('fullName').get(function() {
return this.firstName + ' ' + this.lastName;
}).set(function(replacedName) {
this.set(this.firstName, replacedName);
});

然后在服务器中执行find()方法:

User.find({}).exec(function(error, users) {
// I want to use virtual method for users array
users.set('fullName', 'Name will be replaced');
});

我可以在没有循环的情况下对数组使用虚方法吗?我正在研究 NodeJS 和 Mongoose。

最佳答案

正如 @truonghm 在评论中所说,无法在 oneshot 中将虚拟方法应用于文档数组。

你可以做什么:


循环:

User.find({}).exec(function(error, users) {
// Loop on results and execute the 'set' virtual method
users.forEach(x => x.set('fullName', 'Name will be replaced'));
});

在模式中创建一个方法来为您完成这项工作:

Check the Query Helper part in mongoose Documentation

它会导致:

User.getAllOverrideName(fullName)
.exec(function(error, users) {

});

关于node.js - 执行 find() 时在 Mongoose 中调用虚方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40736344/

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