嵌套元素查询|学习笔记

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

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

}

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

相关文章
|
2月前
|
存储 语音技术 索引
语音识别,列表的定义语法,列表[],列表的下标索引,从列表中取出来特定的数据,name[0]就是索引,反向索引,头部是-1,my[1][1],嵌套列表使用, 列表常用操作, 函数一样,需引入
语音识别,列表的定义语法,列表[],列表的下标索引,从列表中取出来特定的数据,name[0]就是索引,反向索引,头部是-1,my[1][1],嵌套列表使用, 列表常用操作, 函数一样,需引入
|
2月前
|
JavaScript
Vue插值表达式数组写法,插值表达式,如何插入数据,数组,集合,{{}}多项数据显示页面的写法
Vue插值表达式数组写法,插值表达式,如何插入数据,数组,集合,{{}}多项数据显示页面的写法
|
存储 JSON PHP
PHPJSON嵌套对象和数组的解析方法
在PHP编程开发中,JSON是一种非常常用的数据格式。它具有简单、轻量和易于解析的特点,非常适合用于数据交换和存储。当我们处理JSON数据时,经常需要解析嵌套的对象和数组,本文将介绍几种解析方法。
98 1
|
4月前
|
JSON JavaScript 前端开发
JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
|
JSON 数据格式 Python
一日一技:包含非hashable元素的列表如何去重并保持顺序?
一日一技:包含非hashable元素的列表如何去重并保持顺序?
102 0
leetcode_341. 扁平化嵌套列表迭代器
题目链接: 341. 扁平化嵌套列表迭代器 前排提示,这是一道跟树有关的题目,而且是 N 叉树,关于 N 叉树的入门题目可以参考我之前的一篇文章,leetcode 之浅谈 N 叉树 题目 给你一个嵌套
leetcode_341. 扁平化嵌套列表迭代器
|
存储 算法 前端开发
嵌套遍历同一个数组的时候,试试Map优化
嵌套遍历同一个数组的时候,试试Map优化
136 0
|
API 索引
查询元素
查询元素
89 0
|
BI C语言 开发者
列表的嵌套|学习笔记
快速学习列表的嵌套
html+css实战120 属性顺序
html+css实战120 属性顺序
82 0
html+css实战120 属性顺序