koa+mongoose显示不出数据

发布于 2022-09-06 20:42:54 字数 1576 浏览 13 评论 0

在学习使用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);

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

追星践月 2022-09-13 20:42:54
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));

已解决

清欢 2022-09-13 20:42:54

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))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文