猫鼬从MongoDB(NodeJS / AWS Lambda)检索空数组

devpato

我正在使用AWS Lambda函数中的NodeJS为MongoDB Atlas创建连接。我能够建立成功的连接,但是当我执行.find({})来获取所有数据时,我得到了一个空数组。

拉姆达

const mongoose = require('mongoose');

let conn = null;

const uri = 'mongodb+srv://xxx:[email protected]/test';
let M = null;
exports.handler = async function(event, context) {
  nodejs-aws-lambda-mongodb-atlas
  context.callbackWaitsForEmptyEventLoop = false;
  if (conn == null) {
    conn = await mongoose.createConnection(uri, {
      bufferCommands: false,
      bufferMaxEntries: 0,
      useNewUrlParser: true
    });
    M = conn.model('Todo', new mongoose.Schema(
      {
        title: String,
        description: String,
        date: Date,
        status: String
      }
    ));
  }


  const doc =  M.find({});
  console.log('items in the DB')
  console.log(doc);

  return null;
}; 

文档Mongoose AWS Lambda:https : //mongoosejs.com/docs/lambda.html

更新:

 M.find({}).exec().then(function(allDocs){
    console.log('getting al docs')
    console.log(allDocs)//[]
  });

MongoDB地图集

在此处输入图片说明

冻结先生

find是异步的,所以我认为您需要执行以下操作:

M.find({}).exec().then(function(allDocs){
   //do your thing
});

或等待

let alldocs = await M.find({});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章