第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

【金秋打卡】第5天 mongodb 數(shù)據(jù)關(guān)系

標(biāo)簽:
MongoDB

课程名称web前端架构师

课程章节:第14周 第七章 mongodb 高级内容

主讲老师:张轩

课程内容: mongodb 数据关系

不同集合的数据关系

两种实现手段

  • 内嵌
  • 引用

内嵌

之前使用的集合就是内嵌的. hobbies时内嵌的

// 1
{
    "_id": ObjectId("635a37b110f9b16ff81f6cb1"),
    "username": "aaa",
    "password": "123456",
    "hobbies": [
        "play",
        "sleep"
    ],
    "date": ISODate("2022-10-27T09:47:29.324Z"),
    "age": NumberInt("12"),
    "createAt": ISODate("2022-10-27T07:48:01.475Z"),
    "__v": NumberInt("0")
}

// 2
{
    "_id": ObjectId("635a53ed99310000a9001714"),
    "username": "root",
    "password": 1234567,
    "hobbies": [
        "play"
    ],
    "age": 20
}

引用

有两个集合, 球员和球队两个集合 。例如我们知道球队的名字,想要查找球队下所有的球员
我们可能需要两次查询

  • 根据名字查找球队
  • 根据球队 id 查找球员
var team = db.teams.find({
  name: "Lakers"
});
db.users.find({
  team: team._id
});

聚合的概念和基本用法

聚合操作将来自多个文档的值组合在一起,并且可以对分组数据执行各种操作以返回相应的结果。

聚合常用操作符

  • $group 将collection中的document分组,可用于统计结果
  • $match 过滤数据,只输出符合结果的文档
  • $project 修改输入文档的结构(例如重命名,增加、删除字段,创建结算结果等)
  • $sort 将结果进行排序后输出
  • $limit 限制管道输出的结果个数
  • $skip 跳过制定数量的结果,并且返回剩下的结果

Group 的书写格式

例如查询球队分组结果

db.users.aggregate({
    $group: {
        _id: "$team"
    }
})

表达式操作符

KaTeX parse error: Expected ‘EOF’, got ‘计’ at position 5: sum 计̲算总和,{sum: 1}表示返回总和×1的值(即总和的数量),使用 {sum: 'sum: ′制定字段’} 也能直接获取制定字段的值的总和

  • $avg 求平均值
  • $min 求min值
  • $max 求max值
  • $push 将结果文档中插入值到一个数组中
  • $first 根据文档的排序获取第一个文档数据
  • $last 同理,获取最后一个数据

例如我们想要将球队球员的年龄相加

db.users.aggregate({
    $group: {
        _id: "$team",
        total: {
            $sum: '$age'
				}
    }
})

多个操作符一起使用

db.users.aggregate([{
    $group: {
        _id: "$team",
        total: {
            $sum: "$age"
        },
        avgage: {
            $avg: "$age"
        },
        count: {
            $sum: 1
        }
    }
}, {
    $sort: {
        total: 1
    }
}])

图片描述

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消