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

จะสอบถาม Array [String] สำหรับการจับคู่นิพจน์ทั่วไปได้อย่างไร


ในการสืบค้นสตริงอาร์เรย์สำหรับการจับคู่ regexp ให้ใช้ไวยากรณ์ต่อไปนี้

db.yourCollectionName.find( { yourFieldName: /yourStartingValue./ } ).pretty();

ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน

> db.queryArrayDemo.insertOne({"StudentFullName":["Carol Taylor","Caroline
Williams","Claire Brown"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca2774c6304881c5ce84ba0")
}
> db.queryArrayDemo.insertOne({"StudentFullName":["John Smith","Jace Doe","Jabin
Brown"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca277b36304881c5ce84ba1")
}

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

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

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

{
   "_id" : ObjectId("5ca2774c6304881c5ce84ba0"),
   "StudentFullName" : [
      "Carol Taylor",
      "Caroline Williams",
      "Claire Brown"
   ]
}
{
   "_id" : ObjectId("5ca277b36304881c5ce84ba1"),
   "StudentFullName" : [
      "John Smith",
      "Jace Doe",
      "Jabin Brown"
   ]
}

นี่คือวิธีค้นหาสตริงอาร์เรย์สำหรับการจับคู่ regexp

> db.queryArrayDemo.find( { StudentFullName : /J./ } ).pretty();

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

{
   "_id" : ObjectId("5ca277b36304881c5ce84ba1"),
   "StudentFullName" : [
      "John Smith",
      "Jace Doe",
      "Jabin Brown"
   ]
}