如何从文档的实例方法中找到另一个 Mongoose 文档(按 ID)?

How can I find another Mongoose document (by ID) from a document's instance method?

我的模型保存其 "parent" 的 ID(在树结构中)。在其实例方法之一中,我想编辑父级。有什么方法可以通过这个 ID 查询吗? Model.findById 显然不起作用。我可以通过其他方式访问此功能吗?

根据this GitHub issue,通过实例方法访问find及相关方法的方式是this.db.model('Car').findById,其中'Car'应该换成模型名,显然.

它有点多余和老套,我仍在为此寻找更简洁的解决方案。

您可以通过 this.constructor 在实例方法中访问文档的模型;所以你可以这样做:

RegionSchema.methods.addUpdateData = function(contents, callback) {
    this.constructor.findById(this.parentId, function(err, doc) { ... });
}