在 MongoDB 中查詢一個數組的陣列?
使用 $in 運算子來查詢 MongoDB 中的陣列的陣列。為了理解這個概念,讓我們建立一個帶有文件的集合。建立帶文件的集合的查詢如下 −
> db.arrayOfArraysDemo.insertOne({"EmployeeName":"Larry","EmployeeSkills":[["Java","MongoDB","MySQL","SQL Server"]]}); { "acknowledged" : true, "insertedId" : ObjectId("5c7f7a8d8d10a061296a3c5b") } > db.arrayOfArraysDemo.insertOne({"EmployeeName":"Mike","EmployeeSkills":[["C","C++"]]}); { "acknowledged" : true, "insertedId" : ObjectId("5c7f7aa68d10a061296a3c5c") }
使用 find() 方法從集合中顯示所有文件。查詢如下 −
> db.arrayOfArraysDemo.find().pretty();
以下是輸出 −
{ "_id" : ObjectId("5c7f7a8d8d10a061296a3c5b"), "EmployeeName" : "Larry", "EmployeeSkills" : [ [ "Java", "MongoDB", "MySQL", "SQL Server" ] ] } { "_id" : ObjectId("5c7f7aa68d10a061296a3c5c"), "EmployeeName" : "Mike", "EmployeeSkills" : [ [ "C", "C++" ] ] }
以下是查詢 MongoDB 中的陣列的陣列的查詢 −
> db.arrayOfArraysDemo.find({'EmployeeSkills':{$elemMatch:{$elemMatch:{$in:['MongoDB']}}} }).pretty();
以下是輸出 −
{ "_id" : ObjectId("5c7f7a8d8d10a061296a3c5b"), "EmployeeName" : "Larry", "EmployeeSkills" : [ [ "Java", "MongoDB", "MySQL", "SQL Server" ] ] }
廣告