在Mongoose中,我们可以向文档添加如下方法:
const userSchema = new mongoose.Schema({
balance: Number
})
userSchema.methods.withdrawBalance = function(amount){
const doc = this
doc.balance = doc.balance - amount
}
我们可以如下使用它:
const userDoc = UserModel.findById(ID_HERE);
userDoc.deductBalance(100); // -100$ USD
userDoc.save()
我希望能够在模型上做同样的事情,就像我在文档上做一样,我希望能够做这样的事情:
const userDoc = UserModel.findById(ID_HERE).myCustomMethod()
但是怎么做呢?
嗯,我不确定我是否理解正确,但让我们试试。
const Order = mongoose.model("Order", orderSchema);
Order.test = function(){
console.log("Here I am!");
}
(async () => {
const o = await Order.findOne({}).test();
});