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

MongoDB multiple OR conditions บน key เดียวกัน


สำหรับเรื่องนี้ ให้ใช้ $or แค่ครั้งเดียว มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน

> db.demo551.insertOne({"Name":"John"});{    "acknowledged" : true, "insertedId" : ObjectId("5e8e36d39e5f92834d7f05e5") } > db.demo551.insertOne({"Name":"Chris Brown"});{    "acknowledged" : true, "insertedId" : ObjectId("5e8e36d89e5f92834d7f05e6") } > db.demo551.insertOne({"Name":"John Doe"});{    "acknowledged" : true, "insertedId" : ObjectId("5e8e36de9e5f92834d7f05e7") } > db.demo551.insertOne({"Name":"John Smith"});{    "acknowledged" : true, "insertedId" : ObjectId("5e8e36e59e5f92834d7f05e8") } > db.demo551.insertOne({"Name":"Carol"});{    "acknowledged" : true, "insertedId" : ObjectId("5e8e36ec9e5f92834d7f05e9") }

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

> db.demo551.find();

จะได้ผลลัพธ์ดังนี้

{ "_id" : ObjectId("5e8e36d39e5f92834d7f05e5"), "Name" : "John" } { "_id" : ObjectId("5e8e36d89e5f92834d7f05e6"), "Name" : "Chris Brown" } { "_id" : ObjectId("5e8e36de9e5f92834d7f05e7"), "Name" : "John Doe" } { "_id" : ObjectId("5e8e36e59e5f92834d7f05e8"), "Name" : "John Smith" } { "_id" : ObjectId("5e8e36ec9e5f92834d7f05e9"), "Name" : "Carol" }

คำสั่งสำหรับ implement OR conditions บน key เดียวกัน

> db.demo551.find({$or:[ ...       {"Name" : {$eq : "Carol"}}, ...       {Name: {$eq:"John"}} ...    ] ... });

จะได้ผลลัพธ์ดังนี้

{ "_id" : ObjectId("5e8e36d39e5f92834d7f05e5"), "Name" : "John" } { "_id" : ObjectId("5e8e36ec9e5f92834d7f05e9"), "Name" : "Carol" }