换用 egg-mongoose 始终查不出数据

换用 egg-mongoose 始终查不出数据

自己 mongoose 写的都没问题,但是换用 egg-mongoose 始终查不出数据,不知道是哪里配置问题。麻烦老师帮忙解惑,谢谢了

相关代码截图如下:

  • config.default.ts

https://img1.sycdn.imooc.com//climg/630b4f5a09c83bf610540176.jpg

警告如下:

https://img1.sycdn.imooc.com//climg/630b4f8209993d7221750135.jpg


  • plugin.ts

https://img1.sycdn.imooc.com//climg/630b4fd90958bc2f05710461.jpg


  • app/model/user.ts

    https://img1.sycdn.imooc.com//climg/630b503d092557ba09400496.jpg

  • app/service/test.ts

    https://img1.sycdn.imooc.com//climg/630b50770966490710130554.jpg

  • app/controller/home.ts

    https://img1.sycdn.imooc.com//climg/630b50b409d4018b10740745.jpg

  • console 输出

    https://img1.sycdn.imooc.com//climg/630b513309f2600111210543.jpg

  • 页面输出

    https://img1.sycdn.imooc.com//climg/630b514b09d1fa6310720418.jpg

  • 数据库是有数据的

    https://img1.sycdn.imooc.com//climg/630b51f109a8844610590508.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好

经查 是你 mogoose 定义 model 的时候,映射 collection 那个参数不管用了,有可能是版本问题,没有细查。

const UserSchema = new Schema(
// 这个参数没用了,导致其实映射的是 users 这个 collection
// 假如你把 collection 的名称改为 users,你就会发现有数据了
    { collection: 'user' }
)

// 这里我们可以使用映射名称的第二种方法
return app.mongoose.model('User', UserSchema)
// 改成
return app.mongoose.model('User', UserSchema, 'user')
// 注意最后多加一个参数,就是collection 的名字

亲测可用~ 数据出现了

  • 起点丶 提问者 #1

    测试可以了 ,谢谢老师,有一个问题想请教一下老师,如果没有创建这个 user 的 collection,执行后好像也不会新创建,我记得之前使用 mongoose 时候是会自动创建 hello 数据库和 user 的 collection 的。

    2022-08-30 19:13:45
  • 起点丶 提问者 #2

    如果不能自动创建 collection 的话,假如表很多要自己一个一个创建那就太麻烦了。

    2022-08-30 19:15:09
  • 张轩 回复 提问者 起点丶 #3

    不需要手动创建啊,你不要加在个参数就好了,它就可以自动创建。当然我记得你要执行插入操作的,不要执行查询。你可以自己做实验试试看。

    2022-08-31 09:25:36
张轩 2022-08-29 09:22:23

同学你好

把代码库(git)提供给我一下吧,我在本地帮你看一下,谢谢~

  • 提问者 起点丶 #1

    老师,这是我的git地址:https://gitee.com/coolspy/imooc-lego-server.git

    2022-08-29 23:31:54
  • 提问者 起点丶 #2

    SSH:git@gitee.com:coolspy/imooc-lego-server.git

    2022-08-29 23:32:48
  • 提问者 起点丶 #3

    麻烦老师了,感谢!

    2022-08-29 23:33:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师