聚合中的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