最近在學習node.js做一個簡單的博客的網站,用的express框架和mongodb的數據庫.之前沒有接觸過這個數據庫,所有在一開始寫的時候遇到了一些問題,如何初始化model類型,又如何實現簡單的登錄和注冊問題.前面的都還挺簡單的,是按照博主的教程學習的,大家也可以去看下,附上鏈接:http://www.cnblogs.com/djtao/p/6351374.html.在學習的過程中因為node的版本問題和框架的版本也確實花了一些時間讓網站簡單的跑起來,在登錄注冊完成后,需要完成文章的發表,文章是有一個分類的字段,如下圖可以看到:
這里在頁面看到的文章的分類是顯示的名字,但是數據庫卻不是,可以看到數據是這樣的:
所以一開始在使用model的定義的時候出現了問題,導致了populate方法使用了卻沒有得到想要的東西.后來去網上也去找了相關的知識點,發現這個方法用的沒有問題,最后才搞清楚是因為我在定義model和引用出的問題.由於一開始登錄注冊都沒有問題,所以以為寫的是對的,最后又重新寫了,在models文件夾下定義的如下圖:
在routers下面方法使用的時候是這樣引用的:
這樣最后在返回前台的時候使用了populate就能返回全部的數據了.
頁面模版自然就可以取到的相關的名稱.
這次的事情主要問題在於之前的寫法對於數據庫的操作進行了多次,就是創建了多個數據庫鏈接,造成了關聯失敗,由於一開始登錄和注冊是沒有問題的所以就沒想到是這個方面的問題.希望對有類似問題的小伙伴有個參考.
轉載或引用文章時請注明原作者並帶上原文鏈接