最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mongoose中利用populate處理嵌套的方法

 更新時(shí)間:2017年05月26日 11:38:02   作者:Jake  
這篇文章主要給大家介紹了關(guān)于mongoose中利用populate處理嵌套的方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。

前言

nodejs在使用mongdb數(shù)據(jù)庫中經(jīng)常會(huì)使用到嵌套,比如一個(gè)多級分類等。這里我使用學(xué)校-->學(xué)院-->學(xué)生來展示使用populate處理嵌套。

定義modal

在模式中,我們需要使用Schema.ObjectId來表示要指向數(shù)據(jù)在mongodb數(shù)據(jù)庫中的_id。

學(xué)校

在學(xué)校的Schema中,colleges屬性是要包含的學(xué)院的_id屬性數(shù)組。

var SchoolSchema = new Schema({
 name: String,
 colleges: [{
 type: Schema.ObjectId,
 ref: 'College'
 }],
 createTime: {
 type: Date,
 default: Date.now()
 }
});
var School = mongoose.model('School', SchoolSchema);

學(xué)院

var CollegeSchema = new Schema({
 name: String,
 students: [{
 type: Schema.ObjectId,
 ref: 'Student'
 }],
 createTime: {
 type: Date,
 default: Date.now()
 }
});
var College = mongoose.model('College', CollegeSchema);

學(xué)生

var StudentSchema = new Schema({
 name: String,
 sex: String,
 age: Number,
 createTime: {
 type: Date,
 default: Date.now()
 }
});
var Student = mongoose.model('Student', StudentSchema);

查找

直接查找

查找學(xué)校并找到指向的學(xué)院

School
 .find()
 .populate('colleges', ['_id','name'])
 .exec((err, schools) => {
 if (err) {
 console.log(err)
 }
 console.log(schools)
 })

populate的第一個(gè)參數(shù)是學(xué)校表中需要指向?qū)W院表的屬性,即colleges;第二個(gè)參數(shù)為要在學(xué)院中查找的屬性。如果不填寫第二個(gè)參數(shù),則默認(rèn)全都查出。

這樣查找出的結(jié)果中,學(xué)院的學(xué)生屬性是該學(xué)院包含的學(xué)生的_id屬性。如果需要都查找出來需要使用嵌套populate。

嵌套

School
 .find()
 .populate({
 path: 'colleges',
 select: ['_id', 'name'],
 // model: 'College',
 populate: {
 path: 'students',
 select: ['_id', 'name']
 // model: 'Student'
 }
 })
 .sort({
 createTime: -1
 }).exec(function(err, schools) {
 if (err) {
 console.log(err)
 }
 });

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:

相關(guān)文章

  • 為什么使用koa2搭建微信第三方公眾平臺的原因

    為什么使用koa2搭建微信第三方公眾平臺的原因

    這篇文章主要介紹了為什么使用koa2搭建微信第三方公眾平臺的原因,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • nodejs實(shí)現(xiàn)用戶登錄路由功能

    nodejs實(shí)現(xiàn)用戶登錄路由功能

    這篇文章主要介紹了nodejs中實(shí)現(xiàn)用戶登錄路由功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Node.js內(nèi)置模塊events事件監(jiān)聽發(fā)射詳解

    Node.js內(nèi)置模塊events事件監(jiān)聽發(fā)射詳解

    這篇文章主要為大家介紹了Node.js內(nèi)置模塊events事件監(jiān)聽發(fā)射詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Node.js 多線程實(shí)戰(zhàn)小結(jié)

    Node.js 多線程實(shí)戰(zhàn)小結(jié)

    在?Node.js?的世界中,多線程技術(shù)一直是一個(gè)受到廣泛關(guān)注的領(lǐng)域,本文主要介紹了Node.js 多線程實(shí)戰(zhàn)小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • node.js中的buffer.Buffer.isBuffer方法使用說明

    node.js中的buffer.Buffer.isBuffer方法使用說明

    這篇文章主要介紹了node.js中的buffer.Buffer.isBuffer方法使用說明,本文介紹了buffer.Buffer.isBuffer的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Koa代理Http請求的示例代碼

    Koa代理Http請求的示例代碼

    這篇文章主要介紹了Koa代理Http請求的示例代碼,詳解介紹了Koa 代理http請求,解決跨域問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • Mac OS X 系統(tǒng)下安裝和部署Egret引擎開發(fā)環(huán)境

    Mac OS X 系統(tǒng)下安裝和部署Egret引擎開發(fā)環(huán)境

    之前的文章,我們已經(jīng)介紹了Windows 系統(tǒng)下安裝和部署Egret的開發(fā)環(huán)境,那么,這篇文檔中,我們主要介紹在Mac環(huán)境中安裝Egret以及部署
    2014-09-09
  • 使用Node.js制作圖片上傳服務(wù)的詳細(xì)教程

    使用Node.js制作圖片上傳服務(wù)的詳細(xì)教程

    在現(xiàn)代 Web 應(yīng)用開發(fā)中,圖片上傳是一項(xiàng)常見且重要的功能,借助 Node.js 強(qiáng)大的生態(tài)系統(tǒng),我們可以輕松搭建高效的圖片上傳服務(wù),本文將深入探討如何使用 Node.js 構(gòu)建一個(gè)功能完備的圖片上傳服務(wù),需要的朋友可以參考下
    2025-04-04
  • nodejs使用express創(chuàng)建一個(gè)簡單web應(yīng)用

    nodejs使用express創(chuàng)建一個(gè)簡單web應(yīng)用

    這篇文章主要介紹了nodejs使用express創(chuàng)建一個(gè)簡單web應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 一個(gè)簡單的node.js界面實(shí)現(xiàn)方法

    一個(gè)簡單的node.js界面實(shí)現(xiàn)方法

    今天小編就為大家分享一篇一個(gè)簡單的node.js界面實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論

永康市| 广州市| 女性| 邳州市| 高碑店市| 宁波市| 仁布县| 赤壁市| 潢川县| 宁海县| 民权县| 饶平县| 岱山县| 隆子县| 高青县| 卓尼县| 宝丰县| 常宁市| 石家庄市| 沾益县| 五常市| 清镇市| 景德镇市| 太谷县| 沙坪坝区| 都安| 修文县| 谢通门县| 忻城县| 乌鲁木齐市| 顺义区| 沙雅县| 金昌市| 赞皇县| 岢岚县| 吴桥县| 黄大仙区| 江孜县| 济宁市| 屏山县| 南雄市|