为了账号安全,请及时绑定邮箱和手机立即绑定

koa+mongoose显示不出数据

koa+mongoose显示不出数据

当年话下 2019-03-14 17:15:14
在学习使用node.js,遇到了些问题。望各位大佬赐教const koa=require('koa');const app=new koa();const route=require('koa-route')const mongoose=require('mongoose')const Goods=require('./goods.js')//连接数据库mongoose.connect('mongodb://127.0.0.1:27017/test')mongoose.connection.on("connected",function(){    console.log("mongoDB 连接成功")})mongoose.connection.on("error",function(){        console.log("mongoDB 连接失败")})mongoose.connection.on("disconnected",function(){        console.log("mongoDB 连接断开")})const main=function(ctx){    ctx.response.type='html';    ctx.response.body='<a href="/">首页</a>'}const index=function(ctx){**在这里可以打印出数据**    **// ctx.response.type='json'; //        ctx.response.body={ //            status:'2', //            msg:'Hello World' //        }**     Goods.find({},function(err,doc){        在这里就不行        ctx.response.type='json';        ctx.response.body={            status:'2',            msg:'Hello World'        }    if(err){        ctx.response.type='json';            ctx.response.body={            status:'1',            msg:'Hello World'        }    }else{            ctx.response.type='json';            ctx.response.body={                status:'2',                length:doc.length,                 msg:doc             }         }    })}app.use(route.get('/',index));app.use(route.get('/main',main))app.listen(3000);
查看完整描述

2 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

function runasync(){

    var p=new Promise(function(res,rej){

         Goods.find({},function(err,doc){

             res(doc)

        })

    })


    return p

}

const index=async (ctx,next) =>{

        await runasync().then(

            function(data){

            ctx.response.type='json';

            ctx.response.body={

                staus:200,

                message:data

             }

            }

        );

}



app.use(route.get('/',index));

已解决


查看完整回答
反对 回复 2019-03-21
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

Goods.find({},(function(ctx){return function(err,doc){ 

    ctx.response.type='json';

ctx.response.body={

    status:'2',

    msg:'Hello World'

}

if(err){

ctx.response.type='json';

    ctx.response.body={

    status:'1',

    msg:'Hello World'

}

}else{

    ctx.response.type='json';

    ctx.response.body={

        status:'2',

        length:doc.length,

         msg:doc

     } 

}

}

})(ctx))


查看完整回答
反对 回复 2019-03-21
  • 2 回答
  • 0 关注
  • 530 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信