如何获得一个Mongoose实例的所有模型的对象

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

我认为这是一个devise上的缺陷。

到目前为止,有一种官方的方式: 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的devise缺陷(见LearnBoost /mongoose#1362 )。

你可以使用这个获得所有存在的模型的数组:

 var mongoose = require('mongoose'); var models = mongoose.modelNames()