MongoDB 提供了多種邏輯查詢操作符。 $or 運算符是這些運算符之一。 $or 運算符對一個或多個表達式的數組執行邏輯 "OR operations"。此運算符僅用於檢索與數組中至少一個給定表達式匹配的文檔。
$OR 運算符用於在單個查詢中查找多個表達式,該查詢隻需要文檔中的一個匹配條件。多個鍵和值可以與 $or 運算符一起使用。
- 用戶可以根據需要在 find()、update() 等方法中使用該運算符。
- 您還可以將此運算符用於 GeoSpatial 查詢、排序操作和文本查詢。
用法:
{ $or:[ { Expression 1 }, { Expression 2 }, ..., { Expression N } ] }
例子:
在以下示例中,我們正在使用:
Database:JavaTpoint
Collection:student
Document:Five documents that contain the details of the students
>db.student.find()
{
"_id":ObjectId("56254d4fdf2222265r4g12ds3d65f"),
"name":"Mick",
"Course":"btech",
"batch_year":2018,
"language":["c++", "java", "python"],
"personal_details":
{
"Father_name":"Jonny",
"phone_no":8895321456,
"age":23,
"gender":"Male",
"City":"NewYork",
}
}
{
"_id":ObjectId("56254d4fdf2222265r4g12ds3d691"),
"name":"Zoya",
"Course":"BCA",
"batch_year":2020,
"language":["C#", "JavaScript"],
"personal_details":
{
"Father_name":"Henry",
"phone_no":9874563698,
"age":20,
"gender":"Female",
"City":"London",
}
}
{
"_id":ObjectId("56254d4fdf2222265r4g12ds3d655"),
"name":"Jonny",
"Course":"MCA",
"batch_year":2019,
"language":["C#", "java", "PHP"],
"personal_details":
{
"Father_name":"Thomas",
"phone_no":7845123698,
"age":24,
"gender":"Male",
"City":"London",
}
}
{
"_id":ObjectId("56254d4fdf2222265r4g12ds3d678"),
"name":"Oliver",
"Course":"BA",
"batch_year":2017,
"language":["c", "PHP"],
"personal_details":
{
"Father_name":"William",
"phone_no":9997845123,
"age":25,
"gender":"Male",
"City":"Liverpool",
}
}
{
"_id":ObjectId("56254d4fdf2222265r4g12ds3d665"),
"name":"Mia",
"Course":"btech",
"batch_year":2020,
"language":["HTML", "CSS", "PHP"],
"personal_details":
{
"Father_name":"Leo",
"phone_no":6312547896,
"age":22,
"gender":"Female",
"City":"Manchester",
}
}
示例 1:MongoDB 邏輯 $or 運算符:
在此示例中,我們僅檢索 Course 為 "MCA" 或 batch_year 為 2018 年的學生的數據。
>db.student.find({$or:[{Course:"MCA"}, {batch_year:2018}]}).pretty()
輸出:
>db.sutdent.find({$or:[{Course:"MCA"}, {batch_year:2018}]}).pretty() { "_id":ObjectId("56254d4fdf2222265r4g12ds3d65f"), "name":"Mick", "Coruse":"btech", "batch_year":2018, "language":["c++", "java", "python"], "personal_details": { "Father_name":"Jonny", "phone_no":8895321456, "age":23, "gender":"Male", "City":"NewYork", } } { "_id":ObjectId("56254d4fdf2222265r4g12ds3d655"), "name":"Jonny", "Coruse":"MCA", "batch_year":2019, "language":["C#", "java", "PHP"], "personal_details": { "Father_name":"Thomas", "phone_no":7845123698, "age":24, "gender":"Male", "City":"London", } }
示例 2:MongoDB 邏輯 $or 運算符(檢索嵌入文檔中的數據):
在此示例中,我們僅檢索 City 為 "London" 或年齡為 20 的那些學生的文檔。
>db.student.find({$or:[{"personal.age":20}, {"personal.City":"London"}]}).pretty()
輸出:
>db.student.find({$or:[{"personal.age":20}, {"personal.City":"London"}]}).pretty() { "_id":ObjectId("56254d4fdf2222265r4g12ds3d691"), "name":"Zoya", "Course":"BCA", "batch_year":2020, "language":["C#", "JavaScript"], "personal_details": { "Father_name":"Henry", "phone_no":9874563698, "age":20, "gender":"Female", "City":"London", } } { "_id":ObjectId("56254d4fdf2222265r4g12ds3d655"), "name":"Jonny", "Course":"MCA", "batch_year":2019, "language":["C#", "java", "PHP"], "personal_details": { "Father_name":"Thomas", "phone_no":7845123698, "age":24, "gender":"Male", "City":"London", } }
示例 3:使用 $or 運算符匹配數組中的值:
在此示例中,我們僅檢索與給定數組中至少匹配一個值的那些學生的文檔。
>db.student.find({$or:[{language:{$in:["c++", "java", "python"]}}]}).pretty()
輸出:
>db.student.find({$or:[{language:{$in:["c++", "java", "HTML"]}}]}).pretty() { "_id":ObjectId("56254d4fdf2222265r4g12ds3d65f"), "name":"Mick", "Course":"btech", "batch_year":2018, "language":["c++", "java", "python"], "personal_details": { "Father_name":"Jonny", "phone_no":8895321456, "age":23, "gender":"Male", "City":"NewYork", } } { "_id":ObjectId("56254d4fdf2222265r4g12ds3d655"), "name":"Jonny", "Course":"MCA", "batch_year":2019, "language":["C#", "java", "PHP"], "personal_details": { "Father_name":"Thomas", "phone_no":7845123698, "age":24, "gender":"Male", "City":"London", } } { "_id":ObjectId("56254d4fdf2222265r4g12ds3d665"), "name":"Mia", "Course":"btech", "batch_year":2020, "language":["HTML", "CSS", "PHP"], "personal_details": { "Father_name":"Leo", "phone_no":6312547896, "age":22, "gender":"Female", "City":"Manchester", } }
相關用法
- MongoDB $mod用法及代碼示例
- MongoDB $floor用法及代碼示例
- MongoDB $not用法及代碼示例
- MongoDB $ln用法及代碼示例
- MongoDB $reverseArray用法及代碼示例
- MongoDB $arrayElemAt用法及代碼示例
- MongoDB $and用法及代碼示例
- MongoDB $inc用法及代碼示例
- MongoDB $ceil用法及代碼示例
- MongoDB $max用法及代碼示例
- MongoDB $min用法及代碼示例
- MongoDB $exp用法及代碼示例
- MongoDB $toUpper用法及代碼示例
- MongoDB $concatArrays用法及代碼示例
- MongoDB $concat用法及代碼示例
- MongoDB $size用法及代碼示例
- MongoDB $subtract用法及代碼示例
- MongoDB $isArray用法及代碼示例
- MongoDB $divide用法及代碼示例
- MongoDB $toLower用法及代碼示例
注:本文由純淨天空篩選整理自 MongoDB $or Operator。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。