從子陣列中查詢 MongoDB 文件?
你可以使用點(.)符號從子陣列中查詢文件。讓我們首先建立一個包含文件的集合 −
> db.findDocumentDemo.insertOne(
... {
... "EmployeeDetails" :
... {
... "EmployeeAppraisalTime":
...
... [
...
... {"EmployeeDesignation": "Developer", "Salary": 45000},
... {"EmployeeDesignation": "Tester", "Salary": 30000},
... {"EmployeeDesignation": "HR", "Salary": 22000},
... {"EmployeeDesignation": "Accountant", "Salary": 18000}
... ]
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd2c0f7b64f4b851c3a13a8")
}
> db.findDocumentDemo.insertOne(
... {
... "EmployeeDetails" :
... {
... "EmployeeAppraisalTime":
...
... [
...
... {"EmployeeDesignation": "Developer", "Salary": 105000},
... {"EmployeeDesignation": "Tester", "Salary": 45000},
... {"EmployeeDesignation": "HR", "Salary": 34000},
... {"EmployeeDesignation": "Accountant", "Salary": 24000}
... ]
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd2c1d5b64f4b851c3a13a9")
}以下查詢使用 find() 方法從集合中顯示所有文件 −
> db.findDocumentDemo.find().pretty();
這將產生以下輸出 −
{
"_id" : ObjectId("5cd2c0f7b64f4b851c3a13a8"),
"EmployeeDetails" : {
"EmployeeAppraisalTime" : [
{
"EmployeeDesignation" : "Developer",
"Salary" : 45000
},
{
"EmployeeDesignation" : "Tester",
"Salary" : 30000
},
{
"EmployeeDesignation" : "HR",
"Salary" : 22000
},
{
"EmployeeDesignation" : "Accountant",
"Salary" : 18000
}
]
}
}
{
"_id" : ObjectId("5cd2c1d5b64f4b851c3a13a9"),
"EmployeeDetails" : {
"EmployeeAppraisalTime" : [
{
"EmployeeDesignation" : "Developer",
"Salary" : 105000
},
{
"EmployeeDesignation" : "Tester",
"Salary" : 45000
},
{
"EmployeeDesignation" : "HR",
"Salary" : 34000
},
{
"EmployeeDesignation" : "Accountant",
"Salary" : 24000
}
]
}
}以下查詢從子陣列中查詢文件 −
> db.findDocumentDemo.find({ 'EmployeeDetails.EmployeeAppraisalTime.EmployeeDesignation': 'Developer', 'EmployeeDetails.EmployeeAppraisalTime.Salary': { '$in': [45000,105000] } } );這將產生以下輸出 −
{ "_id" : ObjectId("5cd2c0f7b64f4b851c3a13a8"), "EmployeeDetails" : { "EmployeeAppraisalTime" : [ { "EmployeeDesignation" : "Developer", "Salary" : 45000 }, { "EmployeeDesignation" : "Tester", "Salary" : 30000 }, { "EmployeeDesignation" : "HR", "Salary" : 22000 }, { "EmployeeDesignation" : "Accountant", "Salary" : 18000 } ] } }
{ "_id" : ObjectId("5cd2c1d5b64f4b851c3a13a9"), "EmployeeDetails" : { "EmployeeAppraisalTime" : [ { "EmployeeDesignation" : "Developer", "Salary" : 105000 }, { "EmployeeDesignation" : "Tester", "Salary" : 45000 }, { "EmployeeDesignation" : "HR", "Salary" : 34000 }, { "EmployeeDesignation" : "Accountant", "Salary" : 24000 } ] } }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP