嵌套元素查询|学习笔记

简介: 快速学习嵌套元素查询

开发者学堂课程【快速掌握 MongoDB 数据库嵌套元素查询】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/400/detail/5201


嵌套元素查询

 

MongoDB 数据里面每一个集合数据可以继续保存其它的集合数据,例如有些学生需要保存家长信息

db.students.insert ( { "name" :"高大拿–A", "sex":"男", "age" :19, "score":89,"address

"course" :["语文","数学","英语","音乐","政治"]

"parents": [

{ "name" :"高大拿- A(父亲)" , "age" : 50"job":"工人""}})

{ "name" :"高大拿- A(母亲)" , "age" : 46"job":"职员""}})

db.students.insert({ "name"∵:"高大拿–B","sex":"

" ,"age":19,"score":89,"address

"course":["语文","数学",

"parents" : [

{"name": "高大拿-B(父亲)", "age" : 50 , "job":"处长""},

{ "name": "高大拿-B(母亲)", "age" : 46 , "job":"局长""}})

db.students.insert( {"name"∵"高大拿- C""sex"."男","age ":19,"score":89,"address"

"course":["语文","数学","英语"],“

"parents": [

i "name": "高大拿-C(父亲)", "age" : 50 , "job":"工人""},I

{ "name”: "高大拿-C(母亲)", "age" : 46 , "job":"局长"}})

此时给出的内容是嵌套的集合,而这种集合的数据的判断只能够通过“$elemMatch”完成。

范例:查询出父母有人是局长的信息。

db.students.find(-

{

"$and" :[

{"age" : {"$gte" : 19}},

{"parents" : {

"$elemMatch" : i"job":"局长"}。

}

}]}).pretty() ;-

结果:

"_id": objectId("5594b504eecd74894d1a0001") ,

"name":“高拿- c”,

"sex"”:男“,

"age” : 19,

"score": 89,

"address" :“海淀区,

"course"": [

语文","数学,“英语"

],

parents" : [

(

""name" : "高拿- c 〔父亲),

"age" : 50

job” :"工人“

}

{

"name" : “高大拿-c(母亲)”,

"age” : 46,

job" :"局长

}

由于这种查询的时候条件比较麻烦,所以如果可能,尽量别搞这么复杂的数据结构组成。

相关文章
|
算法 IDE 开发工具
火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门
火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门
476 1
|
人工智能 大数据
加速户外广告数字化升级,瓴羊天攻智投与中国传媒大学广告学院达成战略合作
加速户外广告数字化升级,瓴羊天攻智投与中国传媒大学广告学院达成战略合作
228 2
|
网络协议 Linux iOS开发
《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
【2月更文挑战第2天】《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
337 4
|
存储 Java C语言
输入输出举例
输入输出举例
129 2
|
机器学习/深度学习 网络协议 机器人
socket库:Python实现TCP/IP客户和服务器通信
socket库:Python实现TCP/IP客户和服务器通信
719 0
socket库:Python实现TCP/IP客户和服务器通信
layui input框日期框列表显示默认历史搜索记录
layui input框日期框列表显示默认历史搜索记录
130 0
|
新零售
《新零售之旅 数智化转型与行业实践》下载地址
本书重点探讨数智时代新零售的发展路径与趋势。
135 0
《新零售之旅 数智化转型与行业实践》下载地址
|
存储 Ubuntu 数据管理
Docker镜像的原理
centos7系统 包括2部分, linux内核,作用是提供操作系统的基本功能,和机器硬件交互,如何读取磁盘数据,管理网络,使用C编写的,由linus的开发团队,内核只提供操作系统的基本功能和特性,如内存管理、进程调度、文件管理等等。 系统发行版,作用是提供软件功能,例如centos发行版,ubuntu发行版,suse发行版。centos发行版,yum安装包管理;ubuntu发行版。
231 0
|
存储 NoSQL 调度
双11实时物流订单最佳实践
随着双11的开启,物流业也迎来了年度大考。2021年双11期间,递四方作为物流仓储服务方,布局仓库和分拣点超40+个,50w+平米作业场地,单日订单峰值达千万级别,海量购物订单由递四方配送到家,消费者由尾款人秒变收货人。
双11实时物流订单最佳实践