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

แบบสอบถาม MongoDB ตรวจสอบว่าค่าในคุณสมบัติอาร์เรย์หรือไม่


คุณสามารถใช้ตัวดำเนินการ $in เพื่อตรวจสอบว่าค่าอยู่ในอาร์เรย์หรือไม่ ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.valueInArrayDemo.insertOne({"UserName":"John","UserMessage":["Hi","Hello","Bye"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd684cf7924bb85b3f48959")
}
> db.valueInArrayDemo.insertOne({"UserName":"Larry","UserMessage":["Thank You","Amazing","Nice"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd684d27924bb85b3f4895a")
}
>db.valueInArrayDemo.insertOne({"UserName":"Carol","UserMessage":["Awesome","Bye","Cool"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd684d87924bb85b3f4895b")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

> db.valueInArrayDemo.find().pretty();

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

{
   "_id" : ObjectId("5cd684cf7924bb85b3f48959"),
   "UserName" : "John",
   "UserMessage" : [
      "Hi",
      "Hello",
      "Bye"
   ]
}
{
   "_id" : ObjectId("5cd684d27924bb85b3f4895a"),
   "UserName" : "Larry",
   "UserMessage" : [
      "Thank You",
      "Amazing",
      "Nice"
   ]
}
{
   "_id" : ObjectId("5cd684d87924bb85b3f4895b"),
   "UserName" : "Carol",
   "UserMessage" : [
      "Awesome",
      "Bye",
      "Cool"
   ]
}

ต่อไปนี้เป็นแบบสอบถามเพื่อตรวจสอบว่าค่าใดค่าหนึ่งอยู่ในอาร์เรย์ด้วย $in −

> db.valueInArrayDemo.find({UserMessage:{$in:["Bye"]}});

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

{ "_id" : ObjectId("5cd684cf7924bb85b3f48959"), "UserName" : "John", "UserMessage" : [ "Hi", "Hello", "Bye" ] }
{ "_id" : ObjectId("5cd684d87924bb85b3f4895b"), "UserName" : "Carol", "UserMessage" : [ "Awesome", "Bye", "Cool" ] }