MongoDB之?dāng)?shù)據(jù)查詢(嵌套集合)

在MongoDB數(shù)據(jù)庫(kù)里面每一個(gè)集合數(shù)據(jù)可以繼續(xù)保存其他的集合數(shù)據(jù),例如有些人員保存家庭信息。

范例:增加數(shù)據(jù)
db.emp.insert({"name":"林A","sex":"男","age":22,"sal":8000,"loc":"北京","course":["語(yǔ)文","數(shù)學(xué)","英語(yǔ)","音樂(lè)","政治"],"parents":[{"name":"林A父親","age":50,"job":"農(nóng)民"},{"name":"林A母親","age":49,"job":"工人"}]});
db.emp.insert({"name":"林B","sex":"男","age":30,"sal":8000,"loc":"北京","course":["語(yǔ)文","數(shù)學(xué)"],"parents":[{"name":"林B父親","age":55,"job":"工人"},{"name":"林B母親","age":52,"job":"農(nóng)民"}]});
db.emp.insert({"name":"林C","sex":"男","age":35,"sal":8000,"loc":"北京","course":["語(yǔ)文","數(shù)學(xué)","英語(yǔ)"],"parents":[{"name":"林C父親","age":60,"job":"工人"},{"name":"林C母親","age":59,"job":"職員"}]});
db.emp.insert({"name":"林D","sex":"男","age":28,"sal":8000,"loc":"北京","course":["語(yǔ)文","數(shù)學(xué)","政治"],"parents":[{"name":"林D父親","age":58,"job":"局長(zhǎng)"},{"name":"林D母親","age":54,"job":"處長(zhǎng)"}]});
db.emp.insert({"name":"林E","sex":"男","age":40,"sal":8000,"loc":"北京","course":["語(yǔ)文","政治"],"parents":[{"name":"林E父親","age":70,"job":"工人"},{"name":"林E母親","age":68,"job":"局長(zhǎng)"}]});

此時(shí)的內(nèi)容是嵌套的集合,而這種集合的數(shù)據(jù)的判斷只能通過(guò)“$elemMatch”來(lái)完成。

范例:查詢出父母之中有局長(zhǎng)的信息
> db.emp.find({"$and":[{"age":{"$gte":30}},{"parents":{"$elemMatch":{"job":"局長(zhǎng)"}}}]}).pretty();
{
        "_id" : ObjectId("599148bf0184ff511bf02b95"),
        "name" : "林E",
        "sex" : "男",
        "age" : 40,
        "sal" : 8000,
        "loc" : "北京",
        "course" : [
                "語(yǔ)文",
                "政治"
        ],
        "parents" : [
                {
                        "name" : "林E父親",
                        "age" : 70,
                        "job" : "工人"
                },
                {
                        "name" : "林E母親",
                        "age" : 68,
                        "job" : "局長(zhǎng)"
                }
        ]
}
由于這種查詢的時(shí)候條件比較麻煩,所以如果可能,盡量別搞這么復(fù)雜。

網(wǎng)站題目:MongoDB之?dāng)?shù)據(jù)查詢(嵌套集合)
當(dāng)前URL:http://muchs.cn/article10/ihdpgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、電子商務(wù)、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司