使用Mongoose访问现有集合

时间:2014-05-30 13:50:15

标签: node.js mongoose

我刚刚开始使用Mongoose,我有一个与访问现有馆藏相关的问题。 让我们说我有两个单独的文件,一次我填写数据库。我在那里定义我的集合,创建模型并保存一些数据。

var Schema = mongoose.Schema;

var mySchema = new Schema({
  project:  String,
  data: Object
});

myModel = mongoose.model('myModel', mySchema);

在第二个文件中,我想获取这些集合并查询它们,但我不知道该怎么做。不确定如何实例化在另一个文件中创建的集合。 当我尝试简单时:

var model = mongoose.model('myModel');

我得到了MissingSchemaError: Schema hasn't been registered for model "myModel".

我看到我可以获取集合的名称,但不知道如何处理它以及如何使用它。

mongoose.connection.db.collectionNames(function (err, names) {
    console.log(names);
    module.exports.Collection = names;
});

1 个答案:

答案 0 :(得分:1)

您可以将模式和模型定义放在一个单独的文件中,使两个主文件都使用require加载为模块,从而使模型可用于这两个文件。