如何在 MongoDB 陣列中執行 AND 查詢?
要在 MongoDB 中獲得與 AND 相同的結果,請使用 $all 運算子。我們首先使用文件建立一個集合 -
> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["C","Java","MongoDB","MySQL"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cc73e7a8f9e6ff3eb0ce433")
}
> db.andQueryDemo.insertOne({"StudentName":"David Miller","FavouriteSubject":["C++","Java","MongoDB","SQL Server"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cc73ea48f9e6ff3eb0ce434")
}
> db.andQueryDemo.insertOne({"StudentName":"Carol Taylor","FavouriteSubject":["Python","PL/SQL"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cc73ed38f9e6ff3eb0ce435")
}以下查詢利用 find() 方法顯示集合中的所有文件 -
> db.andQueryDemo.find().pretty();
這將生成以下輸出 -
{
"_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"),
"StudentName" : "Carol Taylor",
"FavouriteSubject" : [
"C",
"Java",
"MongoDB",
"MySQL"
]
}
{
"_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"),
"StudentName" : "David Miller",
"FavouriteSubject" : [
"C++",
"Java",
"MongoDB",
"SQL Server"
]
}
{
"_id" : ObjectId("5cc73ed38f9e6ff3eb0ce435"),
"StudentName" : "Carol Taylor",
"FavouriteSubject" : [
"Python",
"PL/SQL"
]
}以下查詢使用 $all 在 MongoDB 陣列中執行 AND 查詢。在此,我們顯示的陣列將“Java”和“MongoDB”都顯示為 FavouriteSubject -
> db.andQueryDemo.find({FavouriteSubject:{$all:["Java","MongoDB"]}}).pretty();這將生成以下輸出 -
{
"_id" : ObjectId("5cc73e7a8f9e6ff3eb0ce433"),
"StudentName" : "Carol Taylor",
"FavouriteSubject" : [
"C",
"Java",
"MongoDB",
"MySQL"
]
}
{
"_id" : ObjectId("5cc73ea48f9e6ff3eb0ce434"),
"StudentName" : "David Miller",
"FavouriteSubject" : [
"C++",
"Java",
"MongoDB",
"SQL Server"
]
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP