CouchDB - การอัปเดตเอกสาร

การอัปเดตเอกสารโดยใช้ cURL

คุณสามารถอัพเดตเอกสารใน CouchDB ได้โดยการส่งคำร้องขอ HTTP ไปยังเซิร์ฟเวอร์โดยใช้วิธี PUT ผ่านยูทิลิตี้ cURL ต่อไปนี้เป็นไวยากรณ์สำหรับอัปเดตเอกสาร

curl -X PUT http://127.0.0.1:5984/database_name/document_id/ -d '{ "field" : "value", "_rev" : "revision id" }'

ตัวอย่าง

สมมติว่ามีเอกสารที่มี id 001 ในฐานข้อมูลชื่อ my_database คุณสามารถลบสิ่งนี้ได้ตามที่แสดงด้านล่าง

ก่อนอื่นรับรหัสการแก้ไขของเอกสารที่จะอัปเดต คุณสามารถค้นหาไฟล์_rev ของเอกสารในตัวเอกสารจึงได้รับเอกสารดังที่แสดงด้านล่าง

$ curl -X GET http://127.0.0.1:5984/my_database/001
{
   "_id" : "001",
   "_rev" : "2-04d8eac1680d237ca25b68b36b8899d3 " ,
   "age" : "23"
}

ใช้รหัสการแก้ไข _rev จากเอกสารเพื่ออัปเดตเอกสาร เรากำลังอัปเดตอายุจาก 23 เป็น 24

$ curl -X PUT http://127.0.0.1:5984/my_database/001/ -d
' { " age " : " 24 " , " _rev " : " 1-1c2fae390fa5475d9b809301bbf3f25e " } '

{ " ok " : true , " id " : " 001 " , " rev " : " 2-04d8eac1680d237ca25b68b36b8899d3 " }

การยืนยัน

ในการตรวจสอบเอกสารให้รับเอกสารอีกครั้งโดยใช้คำขอ GET ตามที่แสดงด้านล่าง

$ curl -X GET http://127.0.0.1:5984/my_database/001
{
   " _id " : " 001 ",
   " _rev " : " 2-04d8eac1680d237ca25b68b36b8899d3 " ,
   " age " : " 23 "
 }
Note

ต่อไปนี้เป็นประเด็นสำคัญที่ควรสังเกตขณะอัปเดตเอกสาร

  • URL ที่เราส่งในคำขอที่มีชื่อฐานข้อมูลและรหัสเอกสาร

  • การอัปเดตเอกสารที่มีอยู่จะเหมือนกับการอัปเดตเอกสารทั้งหมด คุณไม่สามารถเพิ่มฟิลด์ลงในเอกสารที่มีอยู่ คุณสามารถเขียนเวอร์ชันใหม่ทั้งหมดของเอกสารลงในฐานข้อมูลโดยใช้ ID เอกสารเดียวกัน

  • เราต้องจัดหาหมายเลขการแก้ไขเป็นส่วนหนึ่งของคำขอ JSON

  • ในทางกลับกัน JSON มีข้อความแสดงความสำเร็จรหัสของเอกสารที่กำลังอัปเดตและข้อมูลการแก้ไขใหม่ หากคุณต้องการอัปเดตเอกสารเวอร์ชันใหม่คุณต้องอ้างอิงหมายเลขการแก้ไขล่าสุดนี้

การอัปเดตเอกสารโดยใช้ Futon

ในการลบเอกสารให้เปิดไฟล์ http://127.0.0.1:5984/_utils/ url เพื่อรับหน้าภาพรวม / ดัชนีของ CouchDB ดังที่แสดงด้านล่าง

เลือกฐานข้อมูลที่มีเอกสารที่จะอัปเดตแล้วคลิก เรากำลังอัปเดตเอกสารในฐานข้อมูลที่ชื่อtutorials_point. คุณจะได้รับรายชื่อเอกสารในฐานข้อมูลดังที่แสดงด้านล่าง

เลือกเอกสารที่คุณต้องการอัปเดตและคลิกที่เอกสารนั้น คุณจะได้รับเนื้อหาของเอกสารดังที่แสดงด้านล่าง

ที่นี่หากต้องการอัปเดตสถานที่จากเดลีไปยังไฮเดอราบาดคลิกที่กล่องข้อความแก้ไขฟิลด์และคลิกปุ่มสีเขียวเพื่อบันทึกการเปลี่ยนแปลงดังที่แสดงด้านล่าง