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

ค้นหาสตริงหรือตัวเลขในฟิลด์ MongoDB ด้วย $in

ใช้ตัวดำเนินการ $in เพื่อค้นหาเอกสารที่ฟิลด์มีค่าตรงกับ ค่าใดค่าหนึ่ง ในอาร์เรย์ที่ระบุ รองรับทั้งสตริงและตัวเลข เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง (มีข้อมูลผสมระหว่างตัวเลขและสตริง):

> db.searchForStringOrNumberDemo.insertOne(
  {
    "_id": new ObjectId(),
    "StudentName": "Larry",
    "StudentDetails": {
      "StudentMarks": {
        "StudentMongoDBMarks": [44]
      }
    }
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5ce2407c36e8b255a5eee944") }
> db.searchForStringOrNumberDemo.insertOne(
  {
    "_id": new ObjectId(),
    "StudentName": "Larry",
    "StudentDetails": {
      "StudentMarks": {
        "StudentMongoDBMarks": ["44"]
      }
    }
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5ce240f036e8b255a5eee945") }

แสดงเอกสาร (อันแรก Marks เป็นตัวเลข 44, อันที่สองเป็นสตริง "44"):

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

คิวรี่ค้นหาทั้งตัวเลข 44 และสตริง "44" พร้อมกันด้วย $in:

> db.searchForStringOrNumberDemo.find({
  "StudentDetails.StudentMarks.StudentMongoDBMarks": { "$in": ["44", 44] }
});

ประโยชน์: $in ช่วยให้ค้นหาได้หลายรูปแบบข้อมูลพร้อมกัน โดยไม่ต้องเขียนเงื่อนไข $or ยาวๆ