如何使用 MongoDB db.coll.find() 來根據內部類中的欄位進行搜尋?
使用點表示法 (.) 在內部類中進行 MongoDB 搜尋。首先建立一個包含文件的集合 −
> db.searchInInnerDemo.insertOne(
... {
... "StudentFirstName" : "Robert",
... "StudentTechnicalDetails":
... {
... "StudentBackEndTechnology" : "MongoDB",
... "StudentLanguage" : "Java"
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd2dd89b64f4b851c3a13d2")
}
>
> db.searchInInnerDemo.insertOne(
... {
... "StudentFirstName" : "David",
... "StudentTechnicalDetails":
... {
... "StudentBackEndTechnology" : "MySQL",
... "StudentLanguage" : "PHP"
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd2dda3b64f4b851c3a13d3")
}以下是使用 find() 方法顯示集合中所有文件的查詢 −
> db.searchInInnerDemo.find().pretty();
這將產生以下輸出 −
{
"_id" : ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName" : "Robert",
"StudentTechnicalDetails" : {
"StudentBackEndTechnology" : "MongoDB",
"StudentLanguage" : "Java"
}
}
{
"_id" : ObjectId("5cd2dda3b64f4b851c3a13d3"),
"StudentFirstName" : "David",
"StudentTechnicalDetails" : {
"StudentBackEndTechnology" : "MySQL",
"StudentLanguage" : "PHP"
}
}情況 1 − 在內部類中查詢以僅匹配一個屬性的查詢 −
>db.searchInInnerDemo.find({"StudentTechnicalDetails.StudentBackEndTechnology":"MongoDB"}).pretty();這將產生以下輸出 −
{
"_id" : ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName" : "Robert",
"StudentTechnicalDetails" : {
"StudentBackEndTechnology" : "MongoDB",
"StudentLanguage" : "Java"
}
}情況 2 − 使用全欄位名掃描查詢文件的查詢 −
>db.searchInInnerDemo.find({"StudentTechnicalDetails":{"StudentBackEndTechnology":"MongoDB","StudentLanguage":"Java"}}).pretty();這將產生以下輸出 −
{
"_id" : ObjectId("5cd2dd89b64f4b851c3a13d2"),
"StudentFirstName" : "Robert",
"StudentTechnicalDetails" : {
"StudentBackEndTechnology" : "MongoDB",
"StudentLanguage" : "Java"
}
}
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP