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") }

แสดงข้อมูล

> 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 - (FirstName=John OR LastName=Brown) AND Age=24

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

ผลลัพธ์: Chris (LastName=Brown, Age=24) และ John (FirstName=John, Age=24)

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