记一次 node.js 的populate用法

时间:2020-12-16 14:34:09

  最近在学习node.js做一个简单的博客的网站,用的express框架和mongodb的数据库.之前没有接触过这个数据库,所有在一开始写的时候遇到了一些问题,如何初始化model类型,又如何实现简单的登录和注册问题.前面的都还挺简单的,是按照博主的教程学习的,大家也可以去看下,附上链接:http://www.cnblogs.com/djtao/p/6351374.html.在学习的过程中因为node的版本问题和框架的版本也确实花了一些时间让网站简单的跑起来,在登录注册完成后,需要完成文章的发表,文章是有一个分类的字段,如下图可以看到:

记一次 node.js 的populate用法

记一次 node.js 的populate用法

这里在页面看到的文章的分类是显示的名字,但是数据库却不是,可以看到数据是这样的:

记一次 node.js 的populate用法

所以一开始在使用model的定义的时候出现了问题,导致了populate方法使用了却没有得到想要的东西.后来去网上也去找了相关的知识点,发现这个方法用的没有问题,最后才搞清楚是因为我在定义model和引用出的问题.由于一开始登录注册都没有问题,所以以为写的是对的,最后又重新写了,在models文件夹下定义的如下图:

记一次 node.js 的populate用法

在routers下面方法使用的时候是这样引用的:

记一次 node.js 的populate用法

这样最后在返回前台的时候使用了populate就能返回全部的数据了.

记一次 node.js 的populate用法

页面模版自然就可以取到的相关的名称.

  这次的事情主要问题在于之前的写法对于数据库的操作进行了多次,就是创建了多个数据库链接,造成了关联失败,由于一开始登录和注册是没有问题的所以就没想到是这个方面的问题.希望对有类似问题的小伙伴有个参考.

转载或引用文章时请注明原作者并带上原文链接