Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

MongoDB:การรวม AND และ OR?


ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.demo293.insertOne({FirstName:"Chris",LastName:"Brown",Age:24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d45075d93261e4bc9ea32")
}
> db.demo293.insertOne({FirstName:"David",LastName:"Miller",Age:23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d45265d93261e4bc9ea33")
}
> db.demo293.insertOne({FirstName:"John",LastName:"Smith",Age:24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d45385d93261e4bc9ea34")
}
> db.demo293.insertOne({FirstName:"Adam",LastName:"Doe",Age:21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4d46cf5d93261e4bc9ea35")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo293.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e4d45075d93261e4bc9ea32"), "FirstName" : "Chris", "LastName" : "Brown", "Age" : 24 }
{ "_id" : ObjectId("5e4d45265d93261e4bc9ea33"), "FirstName" : "David", "LastName" : "Miller", "Age" : 23 }
{ "_id" : ObjectId("5e4d45385d93261e4bc9ea34"), "FirstName" : "John", "LastName" : "Smith", "Age" : 24 }
{ "_id" : ObjectId("5e4d46cf5d93261e4bc9ea35"), "FirstName" : "Adam", "LastName" : "Doe", "Age" : 21 }

ต่อไปนี้เป็นแบบสอบถามเพื่อรวม AND และ OR -

> db.demo293.find( {
...   $and : [
...      {
...         $or : [
...            {"FirstName" : "John"},
...            {"LastName" : "Brown"}
...         ]
...      },
...      {
...         Age:24
...      }
...   ]
...} )

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e4d45075d93261e4bc9ea32"), "FirstName" : "Chris", "LastName" : "Brown", "Age" : 24 }
{ "_id" : ObjectId("5e4d45385d93261e4bc9ea34"), "FirstName" : "John", "LastName" : "Smith", "Age" : 24 }