我在数据库中有大量 300 question
对象 test
。我可以通过 MongoDB 的交互式 shell 轻松地与这个集合进行交互;但是,当我尝试在 express.js 应用程序中通过 Mongoose 获取集合时,我得到一个空数组。
我的问题是,我怎样才能访问这个已经存在的数据集而不是快速重新创建它?这是一些代码:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/test');
mongoose.model('question', new Schema({ url: String, text: String, id: Number }));
var questions = mongoose.model('question');
questions.find({}, function(err, data) { console.log(err, data, data.length); });
这输出:
null [] 0
原文由 theabraham 发布,翻译遵循 CC BY-SA 4.0 许可协议
Mongoose 添加了在模式下指定集合名称的功能,或者在声明模型时作为第三个参数。否则,它将使用您映射到模型的名称给出的复数版本。
尝试以下类似的方法,或者模式映射:
或模型映射: