如何在 MongoDB 中查詢與同一陣列元素匹配的文件?
若要查詢與同一陣列元素匹配的文件,請使用 find() 並在其中使用 $all。 $all 運算子選擇文件,該文件中的某個欄位的值是包含指定所有元素的陣列。
讓我們建立一個帶文件的集合 −
> db.demo543.insertOne({id:101, subject:["MySQL", "Java" ,"C","Python"]});{
"acknowledged" : true,
"insertedId" : ObjectId("5e8e1b2f9e5f92834d7f05c9")
}
> db.demo543.insertOne({id:102, subject:["MySQL", "MongoDB" ,"SQL Server"]});{
"acknowledged" : true,
"insertedId" : ObjectId("5e8e1b2f9e5f92834d7f05ca")
}藉助 find() 方法顯示集合中的所有文件 −
> db.demo543.find();
這將產生以下輸出 −
{ "_id" : ObjectId("5e8e1b2f9e5f92834d7f05c9"), "id" : 101, "subject" : [ "MySQL", "Java", "C", "Python" ] }
{ "_id" : ObjectId("5e8e1b2f9e5f92834d7f05ca"), "id" : 102, "subject" : [ "MySQL", "MongoDB", "SQL Server" ] }以下是查詢可在 MongoDB 中找到與同一陣列元素匹配的文件 −
> db.demo543.find({
... "subject": { $all: [ "MySQL", "MongoDB", "SQL Server"], $size: 3 }
... })這將產生以下輸出 −
{ "_id" : ObjectId("5e8e1b2f9e5f92834d7f05ca"), "id" : 102, "subject" : [ "MySQL", "MongoDB", "SQL Server" ] }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP