记一次 node.js 的populate用法
最近在學(xué)習(xí)node.js做一個(gè)簡(jiǎn)單的博客的網(wǎng)站,用的express框架和mongodb的數(shù)據(jù)庫(kù).之前沒(méi)有接觸過(guò)這個(gè)數(shù)據(jù)庫(kù),所有在一開(kāi)始寫(xiě)的時(shí)候遇到了一些問(wèn)題,如何初始化model類(lèi)型,又如何實(shí)現(xiàn)簡(jiǎn)單的登錄和注冊(cè)問(wèn)題.前面的都還挺簡(jiǎn)單的,是按照博主的教程學(xué)習(xí)的,大家也可以去看下,附上鏈接:http://www.cnblogs.com/djtao/p/6351374.html.在學(xué)習(xí)的過(guò)程中因?yàn)閚ode的版本問(wèn)題和框架的版本也確實(shí)花了一些時(shí)間讓網(wǎng)站簡(jiǎn)單的跑起來(lái),在登錄注冊(cè)完成后,需要完成文章的發(fā)表,文章是有一個(gè)分類(lèi)的字段,如下圖可以看到:
這里在頁(yè)面看到的文章的分類(lèi)是顯示的名字,但是數(shù)據(jù)庫(kù)卻不是,可以看到數(shù)據(jù)是這樣的:
所以一開(kāi)始在使用model的定義的時(shí)候出現(xiàn)了問(wèn)題,導(dǎo)致了populate方法使用了卻沒(méi)有得到想要的東西.后來(lái)去網(wǎng)上也去找了相關(guān)的知識(shí)點(diǎn),發(fā)現(xiàn)這個(gè)方法用的沒(méi)有問(wèn)題,最后才搞清楚是因?yàn)槲以诙xmodel和引用出的問(wèn)題.由于一開(kāi)始登錄注冊(cè)都沒(méi)有問(wèn)題,所以以為寫(xiě)的是對(duì)的,最后又重新寫(xiě)了,在models文件夾下定義的如下圖:
在routers下面方法使用的時(shí)候是這樣引用的:
這樣最后在返回前臺(tái)的時(shí)候使用了populate就能返回全部的數(shù)據(jù)了.
頁(yè)面模版自然就可以取到的相關(guān)的名稱(chēng).
這次的事情主要問(wèn)題在于之前的寫(xiě)法對(duì)于數(shù)據(jù)庫(kù)的操作進(jìn)行了多次,就是創(chuàng)建了多個(gè)數(shù)據(jù)庫(kù)鏈接,造成了關(guān)聯(lián)失敗,由于一開(kāi)始登錄和注冊(cè)是沒(méi)有問(wèn)題的所以就沒(méi)想到是這個(gè)方面的問(wèn)題.希望對(duì)有類(lèi)似問(wèn)題的小伙伴有個(gè)參考.
轉(zhuǎn)載或引用文章時(shí)請(qǐng)注明原作者并帶上原文鏈接
總結(jié)
以上是生活随笔為你收集整理的记一次 node.js 的populate用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习网络架构(三):VGG
- 下一篇: AppScan--图解Web扫描工具IB