我知道mongoose.model("myModel")
会返回myModel
模型。但是我如何让Mongoose给我一个目前已注册的所有模型的数组/对象/列表?
我认为这有点设计缺陷。
答案 0 :(得分:7)
截至目前,有一种正式方式: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)。
答案 1 :(得分:3)
您可以使用以下方法获取所有现有模型的数组:
var mongoose = require('mongoose');
var models = mongoose.modelNames()