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. คุณจะได้รับรายชื่อเอกสารในฐานข้อมูลดังที่แสดงด้านล่าง
เลือกเอกสารที่คุณต้องการอัปเดตและคลิกที่เอกสารนั้น คุณจะได้รับเนื้อหาของเอกสารดังที่แสดงด้านล่าง
ที่นี่หากต้องการอัปเดตสถานที่จากเดลีไปยังไฮเดอราบาดคลิกที่กล่องข้อความแก้ไขฟิลด์และคลิกปุ่มสีเขียวเพื่อบันทึกการเปลี่ยนแปลงดังที่แสดงด้านล่าง