Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么可以';无法获取查询结果_Node.js_Mongodb - Fatal编程技术网

Node.js 为什么可以';无法获取查询结果

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(

我构建了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().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