วิธีแทนที่สตริงใน mongodb (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแทนที่สตริงเฉพาะในเขตข้อมูลใน MongoDB:

 db.myCollection.updateMany(
  { fieldName: { $regex : /old/ } },
  [{
    $set : { fieldName: {
      $replaceOne : { input: " $fieldName ", find: " old ", replacement: " new " }
    }}
  }]
)

ตัวอย่างเฉพาะนี้จะแทนที่สตริง “เก่า” ด้วย “ใหม่” ในฟิลด์ชื่อ “fieldName” ภายในคอลเลกชันที่ชื่อ myCollection

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติกับ ทีม เรียกเก็บเงิน โดยมีเอกสารต่อไปนี้:

 db.teams.insertOne({team: " Mavs ", conference: " Western ", points: 31})
db.teams.insertOne({team: " Spurs ", conference: " Western ", points: 22})
db.teams.insertOne({team: " Rockets ", conference: " Western ", points: 19})
db.teams.insertOne({team: " Celtics ", conference: " Eastern ", points: 26})
db.teams.insertOne({team: " Cavs ", conference: " Eastern ", points: 33})
db.teams.insertOne({team: " Nets ", conference: " Eastern ", points: 38})

ตัวอย่าง: แทนที่สตริงใน MongoDB

เราสามารถใช้รหัสต่อไปนี้เพื่อแทนที่สตริง “ตะวันตก” ด้วย “ตะวันตก” ในฟิลด์ การประชุม :

 db.teams.updateMany(
  { conference: { $regex : /Western/ } },
  [{
    $set : { conference: {
      $replaceOne : { input: " $conference ", find: " Western ", replacement: " West " }
    }}
  }]
)

นี่คือลักษณะของคอลเลกชันที่อัปเดตในขณะนี้:

 { _id: ObjectId("620139494cb04b772fd7a8fa"),
  team: ' Mavs ',
  conference: ' West ',
  points: 31 }
{ _id: ObjectId("620139494cb04b772fd7a8fb"),
  team: ' Spurs ',
  conference: ' West ',
  points: 22 }
{ _id: ObjectId("620139494cb04b772fd7a8fc"),
  team: ' Rockets ',
  conference: ' West ',
  points: 19 }
{ _id: ObjectId("620139494cb04b772fd7a8fd"),
  team: ' Celtics ',
  conference: ' Eastern ',
  points: 26 }
{ _id: ObjectId("620139494cb04b772fd7a8fe"),
  team: ' Cavs ',
  conference: ' Eastern ',
  points: 33 }
{ _id: ObjectId("620139494cb04b772fd7a8ff"),
  team: ' Nets ',
  conference: ' Eastern ',
  points: 38 }

โปรดทราบว่าเอกสารทุกฉบับที่มีสตริง “ตะวันตก” ในช่อง การประชุม จะมี “ตะวันตก” ในช่อง การประชุม

เอกสารใดๆ ที่ไม่มีสตริง “Western” ในช่อง การประชุม จะคงสตริงดั้งเดิมไว้

หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน $replaceOne ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน MongoDB:

MongoDB: วิธีตรวจสอบว่าฟิลด์มีสตริงหรือไม่
MongoDB: วิธีเพิ่มฟิลด์ใหม่
MongoDB: วิธีลบฟิลด์

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *