Node.js 为什么可以';无法获取查询结果
我构建了mongodb服务器并加载了它。 我使用'node api.js'命令来加载api服务器 但是我无法得到查询结果。 错误和结果返回null 我检查了mongod和env collection有2个文档。 为什么会这样Node.js 为什么可以';无法获取查询结果,node.js,mongodb,Node.js,Mongodb,我构建了mongodb服务器并加载了它。 我使用'node api.js'命令来加载api服务器 但是我无法得到查询结果。 错误和结果返回null 我检查了mongod和env collection有2个文档。 为什么会这样 var my = new Schema({ status: Boolean, system_mode: Number }); var env = mongoose.model('env', my); env.find(
var my = new Schema({
status: Boolean,
system_mode: Number
});
var env = mongoose.model('env', my);
env.find().exec(function(err, result){
console.log(err);
console.log(result);
res.send(result);
return;
});
由于env模式是预先创建的,您必须在mongoose模式中添加
{collection:'env'}
,因为mongoose将创建另一个具有复数env
的集合,而且mongoose模式应该在加载应用程序中定义一次,而不是在请求处理程序中
var my = new Schema({
status: Boolean,
system_mode: Number
}, { collection : 'env' });
var env = mongoose.model('Env', my);
env.find({}).exec(function(err, result){
console.log(err);
console.log(result);
res.send(result);
});
我定义了集合名env,而不是env。你的意思是我应该定义集合名Env?我试过了,结果如下。结果:[],错误:nullMongoose会自动查找模型名称的复数小写版本,请尝试在find函数中添加空对象。我添加了空对象,但结果相同。请确保您在连接的数据库中,在同一端口的同一数据库中有env table,连接url和数据库的完整urlmongodb://localhost:27017/usermanagement