Javascript Mongo查询未在我的主服务器中生成结果

Javascript Mongo查询未在我的主服务器中生成结果,javascript,node.js,mongodb,mongoose,promise,Javascript,Node.js,Mongodb,Mongoose,Promise,我试图利用承诺从我的mongoDB数据库中获取所有项目。 这是我的代码: exports.findAll = function(){ return new Promise(function(resolve, reject){ Collection.find({}, function(err, res){ if(err){ reject(err); } else { console.log(res);

我试图利用承诺从我的mongoDB数据库中获取所有项目。 这是我的代码:

exports.findAll = function(){
  return new Promise(function(resolve, reject){
      Collection.find({}, function(err, res){
        if(err){
          reject(err);
        } else {
          console.log(res);
          resolve(res);
        }
      });
  });
}
但是,当我调用
findAll()
函数时,结果是一个空数组。我已检查了与数据库的连接,并且已成功建立连接。数据库本身也是非空的。我不知道我做错了什么。感谢您的帮助。提前谢谢

您可以舒适地使用MongoDB

import mongoose from 'mongoose';
创建连接

await mongoose.connect('mongodb://localhost/my_database', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
  useFindAndModify: false,
  useCreateIndex: true
});
为集合创建模型

const collection= new Schema({
  _id: ObjectId,
  name: String,
  age: Number,
});

const Collection= mongoose.model('Collection', collection);


const data = await Collection.find({});

您可以查看Mongoose文档查看更多信息

谢谢您的帮助!然而,使用猫鼬似乎并不能解决我的问题。我已经使用mongoose成功地建立了一个连接,当我运行其他查询(如
findOne()
)时,它似乎运行得很好,但我无法使用
findAll()函数中的承诺生成结果。我不确定我做错了什么,以及
find()?
对不起,我的错,我的意思是
find()
而不是
findAll()
。问题似乎在于我构建承诺的方式。在一个测试项目中,我没有使用承诺,所有的函数都可以正常工作。
console.log(res)
记录一个空数组?是的,
console.log(err)
产生
null