聚合中的mongoose模式方法

怎样才能在聚合中访问方法?

let mongoose = require("mongoose"), Schema = mongoose.Schema; let UserSchema = new Schema({ name: String, lastname: String }); UserSchema.methods.fullname = () => { return this.name + " " + this.lastname; }; let UserModel = mongoose.model("user",UserSchema); let query = [ { $match: { "name": /foo/i } } ]; UserModel.aggregate(query, (err, users) => { if(err) throw new Error(err); for(let user of users){ console.log(user.fullname()); } }); 

和结果

 TypeError: user.fullname is not a function 

我可以使用这个

 UserModel.findOne(query, (err, user) => { if(err) throw new Error(err); console.log(user.fullname()); }); 

结果

 foo bar 

但我需要得到其他参数为我真正的查询($ addFields,$ lookup,$ filters和其他)

thx = D