我有一个特殊的情况,我使用聚合。但是我无法在聚合的返回值中使用模式方法。 有没有办法解决这个问题?
示例来源:
服务器:
itemSchema = new Schema({
name: String,
seller: ObjectId,
category: String,
price: Number,
....
});
itemSchema.methods = {
getPriceToString(){
return this.price.toString()
}
...
}
let delay = 1000*60*60*24*30*5;
let item = yield item.aggregate({
{
{
$project:
{
"_id": 1,
...
"created_at" : {
$cond: {
if: { ... },
then: {$subtract:["$created_at",delay]},
else: "$created_at" }
}
}
},
{
$lookup: {
"from": 'users',
"localField": 'seller',
"foreignField": '_id',
"as": 'seller'
},
},
{
$sort:
{
'created_at' : -1
}
},
{
$limit: 40
}
]).exec();
res.send({item:item});
前:
...
a(...)=item.seller.username
...
h2=item.getPriceToString()
错误:
item.getPriceToString不是函数