嵌套元素查询|学习笔记

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

开发者学堂课程【快速掌握 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" :"局长

}

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

相关文章
|
5月前
|
存储 语音技术 索引
语音识别,列表的定义语法,列表[],列表的下标索引,从列表中取出来特定的数据,name[0]就是索引,反向索引,头部是-1,my[1][1],嵌套列表使用, 列表常用操作, 函数一样,需引入
语音识别,列表的定义语法,列表[],列表的下标索引,从列表中取出来特定的数据,name[0]就是索引,反向索引,头部是-1,my[1][1],嵌套列表使用, 列表常用操作, 函数一样,需引入
|
存储 Java
2.2 Lambda表达式在集合操作中的应用:过滤和筛选集合元素
2.2 Lambda表达式在集合操作中的应用:过滤和筛选集合元素
718 0
|
Python
巧用for循环嵌套结构
巧用for循环嵌套结构
98 0
|
JSON 数据格式 Python
一日一技:包含非hashable元素的列表如何去重并保持顺序?
一日一技:包含非hashable元素的列表如何去重并保持顺序?
113 0
|
Python
一日一技:如何把多层嵌套的列表展平
一日一技:如何把多层嵌套的列表展平
104 0
|
JSON JavaScript 数据格式
for in语句,flex布局,Math对象,筛选选择器,属性操作(复习知识)
用for…in遍历数组: 循环变量x是数组的下标 用for…in遍历js对象: 循环变量x是json的成员—属性与方法名 以任意顺序遍历一个对象的可枚举属性。对于每个不同的属性,语句都会被执行。
94 0
|
数据库 开发者 索引
列表增加元素|学习笔记
快速学习列表增加元素
列表增加元素|学习笔记
|
JSON 前端开发 数据格式
weex-过滤数组中的元素并进行删除
weex-过滤数组中的元素并进行删除
89 0
|
API 索引
查询元素
查询元素
98 0
|
BI C语言 开发者
列表的嵌套|学习笔记
快速学习列表的嵌套