前言
在做自己的項(xiàng)目時(shí),因?yàn)閯傞_始接觸mongodb非關(guān)系型數(shù)據(jù)庫以及關(guān)系型數(shù)據(jù)庫的影響還是留在腦中,總會想著進(jìn)行一個(gè)連表查詢,然后看官網(wǎng)和資料學(xué)習(xí)了下,還有那個(gè)查詢時(shí)使用正則來匹配,在這里做個(gè)記錄
1.mongodb正則匹配
/* 使用$regex字段匹配 */ name: {$regex: 'aa', $options: 'i'}; 或者: name: {$regex: /aa/, $options: 'i'}; 或者: name: {$regex: /aa/i}; /* 直接使用表達(dá)式 */ name: {/aa/i} /* 使用$in來匹配,這個(gè)字段必須是一個(gè)數(shù)組 */ name: {$in: [/aa/]}
2.連表查詢
使用$lookup來進(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)前表對應(yīng)的字段 */ foreignField: '_id', /* 要連接的表的字段 */ as: 'resourceInfo' /* 查詢結(jié)果中顯示的字段名 */ }, }, { $match: { 'user_id': user_id } }, { $unwind: '$resourceInfo' }, { $sort: { _id: -1 } } ])
3.小結(jié)
mongodb數(shù)據(jù)庫是非關(guān)系型、文檔型數(shù)據(jù)庫,將有關(guān)聯(lián)的數(shù)據(jù)存儲在一份文檔中就能夠減少進(jìn)行表與表之間的關(guān)聯(lián)查詢
自己先在網(wǎng)上找資料學(xué)習(xí)后,然后在學(xué)習(xí)慕課網(wǎng)上的視頻時(shí),就有很大的感觸,目前的話還是有一些迷惑,對于數(shù)據(jù)的插入我會找到更好的方法來實(shí)現(xiàn)
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。
標(biāo)簽:興安盟 遼陽 雞西 泰安 廈門 玉林 自貢 無錫
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mongodb數(shù)據(jù)庫基礎(chǔ)知識之連表查詢》,本文關(guān)鍵詞 mongodb,數(shù)據(jù)庫,基礎(chǔ)知識,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。