新聞中心
在MongoDB中,你可以使用查詢操作符來查詢數(shù)組里面的元素,以下是一些常用的查詢操作符:

10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有大余免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1、$elemMatch: 用于匹配數(shù)組中的某個(gè)元素是否滿足指定的條件。
2、$all: 用于匹配數(shù)組中是否包含所有指定的元素。
3、$size: 用于匹配數(shù)組的大小是否等于指定值。
4、$in: 用于匹配數(shù)組中是否包含指定元素之一。
5、$nin: 用于匹配數(shù)組中是否不包含指定元素之一。
6、$exists: 用于匹配數(shù)組中是否存在指定索引的元素。
7、$type: 用于匹配數(shù)組中指定索引的元素類型。
8、$slice: 用于返回?cái)?shù)組中指定范圍的元素。
9、$: 用于表示數(shù)組中的最后一個(gè)元素。
以下是一些示例:
示例1:使用$elemMatch查詢數(shù)組中的元素
假設(shè)我們有一個(gè)名為students的集合,其中每個(gè)文檔包含一個(gè)名為scores的數(shù)組,如下所示:
{
"_id": 1,
"name": "張三",
"scores": [
{
"subject": "數(shù)學(xué)",
"score": 90
},
{
"subject": "英語",
"score": 85
}
]
}
我們可以使用$elemMatch查詢數(shù)學(xué)成績大于等于90的學(xué)生:
db.students.find({
"scores": {
"$elemMatch": {
"subject": "數(shù)學(xué)",
"score": { "$gte": 90 }
}
}
})
示例2:使用$all查詢數(shù)組中包含所有指定元素的學(xué)生
假設(shè)我們有一個(gè)名為courses的集合,其中每個(gè)文檔包含一個(gè)名為tags的數(shù)組,如下所示:
{
"_id": 1,
"name": "計(jì)算機(jī)科學(xué)",
"tags": ["編程", "算法", "數(shù)據(jù)結(jié)構(gòu)"]
}
我們可以使用$all查詢同時(shí)包含"編程"和"算法"標(biāo)簽的課程:
db.courses.find({
"tags": {
"$all": ["編程", "算法"]
}
})
示例3:使用$size查詢數(shù)組大小等于指定值的學(xué)生
假設(shè)我們有一個(gè)名為students的集合,其中每個(gè)文檔包含一個(gè)名為hobbies的數(shù)組,如下所示:
{
"_id": 1,
"name": "李四",
"hobbies": ["籃球", "足球", "乒乓球"]
}
我們可以使用$size查詢愛好數(shù)量等于3的學(xué)生:
db.students.find({
"hobbies": {
"$size": 3
}
})
示例4:使用$in查詢數(shù)組中包含指定元素之一的學(xué)生
假設(shè)我們有一個(gè)名為students的集合,其中每個(gè)文檔包含一個(gè)名為grades的數(shù)組,如下所示:
{
"_id": 1,
"name": "王五",
"grades": ["A", "B", "C"]
}
我們可以使用$in查詢成績?yōu)?A"或"B"的學(xué)生:
db.students.find({
"grades": {
"$in": ["A", "B"]
}
})
示例5:使用$nin查詢數(shù)組中不包含指定元素之一的學(xué)生
假設(shè)我們有一個(gè)名為students的集合,其中每個(gè)文檔包含一個(gè)名為grades的數(shù)組,如下所示:
{
"_id": 1,
"name": "趙六",
"grades": ["A", "B", "C"]
}
我們可以使用$nin查詢成績不為"A"或"B"的學(xué)生:
db.students.find({
"grades": {
"$nin": ["A", "B"]
}
})
當(dāng)前題目:MongoDB如何查詢數(shù)組里面的元素
分享網(wǎng)址:http://m.5511xx.com/article/cdhpdjs.html


咨詢
建站咨詢
