前言
在做自己的項目時,因為剛開始接觸mongodb非關(guān)系型數(shù)據(jù)庫以及關(guān)系型數(shù)據(jù)庫的影響還是留在腦中,總會想著進行一個連表查詢,然后看官網(wǎng)和資料學(xué)習(xí)了下,還有那個查詢時使用正則來匹配,在這里做個記錄
1.mongodb正則匹配
/* 使用$regex字段匹配 */
name: {$regex: 'aa', $options: 'i'};
或者:
name: {$regex: /aa/, $options: 'i'};
或者:
name: {$regex: /aa/i};
/* 直接使用表達式 */
name: {/aa/i}
/* 使用$in來匹配,這個字段必須是一個數(shù)組 */
name: {$in: [/aa/]}
2.連表查詢
使用$lookup來進行連表查詢
/* aggregate聚合操作,$unwind將數(shù)組拆分成單個元素
* $group 分組依據(jù)
* $sum 統(tǒng)計
* $project 將返回值進行篩選,是否返回篩選完后的某個字段
* $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ù)存儲在一份文檔中就能夠減少進行表與表之間的關(guān)聯(lián)查詢
自己先在網(wǎng)上找資料學(xué)習(xí)后,然后在學(xué)習(xí)慕課網(wǎng)上的視頻時,就有很大的感觸,目前的話還是有一些迷惑,對于數(shù)據(jù)的插入我會找到更好的方法來實現(xiàn)
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- 詳解MongoDB數(shù)據(jù)庫基礎(chǔ)操作及實例
- 老生常談MongoDB數(shù)據(jù)庫基礎(chǔ)操作
- MongoDB數(shù)據(jù)庫插入、更新和刪除操作詳解
- PHP中MongoDB數(shù)據(jù)庫的連接、添加、修改、查詢、刪除等操作實例
- mongodb 數(shù)據(jù)庫操作詳解--創(chuàng)建,切換,刪除
- mongodb 數(shù)據(jù)庫操作--備份 還原 導(dǎo)出 導(dǎo)入
- MongoDB數(shù)據(jù)庫文檔操作方法(必看篇)
- MongoDB模糊查詢操作案例詳解(類關(guān)系型數(shù)據(jù)庫的 like 和 not like)
- mongoDB4.0數(shù)據(jù)庫的操作方法
- mongodb數(shù)據(jù)庫入門學(xué)習(xí)筆記之下載、安裝、啟動、連接操作解析
- MongoDB數(shù)據(jù)庫安裝配置、基本操作實例詳解
- MongoDB數(shù)據(jù)庫基礎(chǔ)操作總結(jié)