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

MongoDB Query ด้วยเงื่อนไข OR หลายเงื่อนไข

ใช้ $or สำหรับเงื่อนไข OR หลายเงื่อนไข

สร้างข้อมูลตัวอย่าง

> db.orConditionDemo.insertOne({"CustomerName":"Larry","ShippingDate":new ISODate("2018-01-29")});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ec5262f684a30fbdfd56a") }
> db.orConditionDemo.insertOne({"CustomerName":"Mike","ShippingDate":new ISODate("2019-04-13")});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ec5362f684a30fbdfd56b") }
> db.orConditionDemo.insertOne({"CustomerName":"Bob","ShippingDate":new ISODate("2019-02-21")});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ec5422f684a30fbdfd56c") }
> db.orConditionDemo.insertOne({"CustomerName":"David","ShippingDate":new ISODate("2019-03-15")});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ec5532f684a30fbdfd56d") }
> db.orConditionDemo.insertOne({"CustomerName":"John","ShippingDate":new ISODate("2019-03-19")});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ec56c2f684a30fbdfd56e") }

Query: ShippingDate มากกว่าวันนี้ OR ShippingDate เป็น null

> db.orConditionDemo.find({$or: [{ShippingDate: {$gte: new ISODate()}}, {ShippingDate: null}]}).pretty();
{ "_id" : ObjectId("5c8ec5362f684a30fbdfd56b"), "CustomerName" : "Mike", "ShippingDate" : ISODate("2019-04-13T00:00:00Z") }
{ "_id" : ObjectId("5c8ec56c2f684a30fbdfd56e"), "CustomerName" : "John", "ShippingDate" : ISODate("2019-03-19T00:00:00Z") }

คืนค่า Document ที่ ShippingDate อยู่ในอนาคต (มากกว่าวันที่ Query) หรือเป็น null