如何获取Mongoose实例的所有模型的对象

时间:2013-02-26 08:31:13

标签: node.js mongoose

我知道mongoose.model("myModel")会返回myModel模型。但是我如何让Mongoose给我一个目前已注册的所有模型的数组/对象/列表?

我认为这有点设计缺陷。

2 个答案:

答案 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()