我知道mongoose.model("myModel")
返回myModel
模型。但是我怎样才能让 Mongoose 给我一个当前已注册的所有模型的数组/对象/列表?
我认为这在某种程度上是一个设计缺陷。
我知道mongoose.model("myModel")
返回myModel
模型。但是我怎样才能让 Mongoose 给我一个当前已注册的所有模型的数组/对象/列表?
我认为这在某种程度上是一个设计缺陷。
截至目前,有一种官方方式:Mongoose#modelNames()
.
您可以通过 访问所有模型的对象mongoose.models
。这看起来像这样:
models:
{ myModel:
{ [Function: model]
modelName: 'myModel',
auth: [Function],
model: [Function: model],
options: undefined,
db: [Object],
schema: [Object],
collection: [Object],
base: [Circular] } },
在我看来,摆弄 API 私有的东西是不好的,所以这是 Mongoose 的一点设计缺陷(参见LearnBoost/mongoose#1362)。
您可以使用以下方法获取所有现有模型的数组:
var mongoose = require('mongoose');
var models = mongoose.modelNames()