配列内のオブジェクトにアクセスするためのMongoDBクエリ
配列内のオブジェクトにアクセスするには、ドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう-
> db.demo299.insertOne(
... {
... "id":100,
... "Name":"Robert",
... "details":[
... {
... "SubjectName":["C++","Python"]
... },
... {
... "SubjectName":["Spring","Hibernate"]
... }
... ]
... }
...);
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4d685a5d93261e4bc9ea4b")
}
>
>
> db.demo299.insertOne(
... {
... "id":101,
... "Name":"Adam",
... "details":[
... {
... "SubjectName":["Python","JSP"]
... },
... {
... "SubjectName":["Servlet","Operating System"]
... }
... ]
... }
...);
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4d685b5d93261e4bc9ea4c")
} find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo299.find();
これにより、次の出力が生成されます-
{
"_id" : ObjectId("5e4d685a5d93261e4bc9ea4b"), "id" : 100, "Name" : "Robert", "details" : [
{ "SubjectName" : [ "C++", "Python" ] },
{ "SubjectName" : [ "Spring", "Hibernate" ] }
]
}
{
"_id" : ObjectId("5e4d685b5d93261e4bc9ea4c"), "id" : 101, "Name" : "Adam", "details" : [
{ "SubjectName" : [ "Python", "JSP" ] }, { "SubjectName" : [ "Servlet", "Operating System" ] }
]
} 以下は、配列内のオブジェクトにアクセスするためのクエリです-
> db.demo299.find({"details.SubjectName":"Servlet"}); これにより、次の出力が生成されます-
{
"_id" : ObjectId("5e4d685b5d93261e4bc9ea4c"), "id" : 101, "Name" : "Adam", "details" : [
{ "SubjectName" : [ "Python", "JSP" ] }, { "SubjectName" : [ "Servlet", "Operating System" ] }
]
} -
MongoDBのサブドキュメントの配列をクエリする
サブドキュメントの配列をクエリするには、MongoDBで$unwindを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo499.insertOne({ ... "details": ... [ ... { ... Name :"MIT", ... Rank: 1, ...
-
ネストされた配列をソートするMongoDBクエリ?
MongoDBでネストされた配列を並べ替えるには、$sortを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo505.insertOne( ... { ... "details": [ ... { ... Name:"Chris", ... "Score":58 ... }, { ... ...