mongodb數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)之連表查詢
前言
在做自己的項(xiàng)目時(shí),因?yàn)閯傞_(kāi)始接觸mongodb非關(guān)系型數(shù)據(jù)庫(kù)以及關(guān)系型數(shù)據(jù)庫(kù)的影響還是留在腦中,總會(huì)想著進(jìn)行一個(gè)連表查詢,然后看官網(wǎng)和資料學(xué)習(xí)了下,還有那個(gè)查詢時(shí)使用正則來(lái)匹配,在這里做個(gè)記錄
1.mongodb正則匹配
/* 使用$regex字段匹配 */ name: {$regex: 'aa', $options: 'i'}; 或者: name: {$regex: /aa/, $options: 'i'}; 或者: name: {$regex: /aa/i}; /* 直接使用表達(dá)式 */ name: {/aa/i} /* 使用$in來(lái)匹配,這個(gè)字段必須是一個(gè)數(shù)組 */ name: {$in: [/aa/]}
2.連表查詢
使用$lookup來(lái)進(jìn)行連表查詢
/* aggregate聚合操作,$unwind將數(shù)組拆分成單個(gè)元素 * $group 分組依據(jù) * $sum 統(tǒng)計(jì) * $project 將返回值進(jìn)行篩選,是否返回篩選完后的某個(gè)字段 * $match 匹配條件 * */ usingRecord.aggregate([ { $lookup: { from: 'resources', /* 要連接的表名 */ localField: 'resource_id', /* 當(dāng)前表對(duì)應(yīng)的字段 */ foreignField: '_id', /* 要連接的表的字段 */ as: 'resourceInfo' /* 查詢結(jié)果中顯示的字段名 */ }, }, { $match: { 'user_id': user_id } }, { $unwind: '$resourceInfo' }, { $sort: { _id: -1 } } ])
3.小結(jié)
mongodb數(shù)據(jù)庫(kù)是非關(guān)系型、文檔型數(shù)據(jù)庫(kù),將有關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)在一份文檔中就能夠減少進(jìn)行表與表之間的關(guān)聯(lián)查詢
自己先在網(wǎng)上找資料學(xué)習(xí)后,然后在學(xué)習(xí)慕課網(wǎng)上的視頻時(shí),就有很大的感觸,目前的話還是有一些迷惑,對(duì)于數(shù)據(jù)的插入我會(huì)找到更好的方法來(lái)實(shí)現(xiàn)
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
MongoDB的基本特性與內(nèi)部構(gòu)造的講解
今天小編就為大家分享一篇關(guān)于MongoDB的基本特性與內(nèi)部構(gòu)造的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03MongoDB數(shù)據(jù)庫(kù)部署環(huán)境準(zhǔn)備及使用介紹
這篇文章主要為大家介紹了MongoDB數(shù)據(jù)庫(kù)部署環(huán)境準(zhǔn)備以及基本的使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03MongoDB中的常用操作$set、$unset和$inc示例詳解
在MongoDB中,$set操作符用于更新文檔中的字段值,它允許更新指定的字段,而不必更新整個(gè)文檔,這篇文章主要介紹了MongoDB中的常用操作$set、$unset和$inc示例詳解,需要的朋友可以參考下2023-12-12mongodb中非常好用的Aggregate入門(mén)教程
這篇文章主要給大家介紹了關(guān)于mongodb中非常好用的Aggregate的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mongodb具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-12-12MongoDB orm框架的注意事項(xiàng)及簡(jiǎn)單使用
MongoDB官方提供的orm的輕量級(jí)封裝的 zfoo orm 框架,只對(duì)官方提供的進(jìn)行了簡(jiǎn)單的封裝,還做了一些官方不支持的語(yǔ)法校驗(yàn)。本文介紹了該框架的注意事項(xiàng)及簡(jiǎn)單使用2021-06-06淺談MySQL和MariaDB區(qū)別(mariadb和mysql的性能比較)
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品2018-02-02MongoDB數(shù)據(jù)庫(kù)的日志文件深入分析
這篇文章主要給大家介紹了關(guān)于MongoDB數(shù)據(jù)庫(kù)日志的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09Windows系統(tǒng)下安裝Mongodb 3.2.x的步驟詳解
mongodb3.x版本有好多新功能,關(guān)于這方面參考官網(wǎng)即可,下面這篇文章主要給大家介紹了在Windows系統(tǒng)下安裝Mongodb 3.2.x的詳細(xì)步驟,文中介紹的非常詳細(xì),需要的朋友們可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-03-03