OrientDB - ย้ายจุดยอด
คำสั่ง Move Vertex ใน OrientDB คือการย้ายจุดยอดหนึ่งจุดหรือมากกว่าจากตำแหน่งปัจจุบันไปยังคลาสหรือคลัสเตอร์อื่น หากคุณใช้คำสั่ง move กับจุดยอดใดจุดยอดหนึ่งมันจะอัพเดตขอบทั้งหมดที่เชื่อมต่อกับจุดยอดนี้ หากคุณกำลังระบุคลัสเตอร์ที่จะย้ายจุดยอดมันจะย้ายจุดยอดไปยังเจ้าของเซิร์ฟเวอร์ของคลัสเตอร์เป้าหมาย
คำสั่งต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง Move Vertex
MOVE VERTEX <source> TO <destination>
[SET [<field>=<value>]* [,]]
[MERGE <JSON>]
[BATCH <batch-size>]
ต่อไปนี้เป็นรายละเอียดเกี่ยวกับตัวเลือกในไวยากรณ์ด้านบน
<source>- กำหนดจุดยอดที่คุณต้องการย้าย ยอมรับรหัสระเบียนของจุดยอดหรืออาร์เรย์ของรหัสระเบียนสำหรับจุดยอด
<destination>- กำหนดตำแหน่งที่คุณต้องการย้ายจุดยอด รองรับคลาสหรือคลัสเตอร์เป็นปลายทาง
SET - ตั้งค่าเป็นฟิลด์
MERGE - ตั้งค่าเป็นฟิลด์ผ่าน JSON
BATCH - กำหนดขนาดแบทช์
Note- คำสั่งนี้อัปเดตขอบที่เชื่อมต่อทั้งหมด แต่ไม่ใช่ลิงก์ เมื่อใช้ Graph API ขอแนะนำให้ใช้ edge ที่เชื่อมต่อกับจุดยอด
ตัวอย่าง
ลองใช้ตัวอย่างต่อไปนี้เพื่อเรียนรู้วิธีการย้ายจุดยอด
ดำเนินการสอบถามต่อไปนี้เพื่อย้ายจุดยอดเดียวที่มีรหัสระเบียน # 11: 2 จากตำแหน่งปัจจุบันไปยัง Class Employee
orientdb> MOVE VERTEX #11:2 TO CLASS:Employee
หากดำเนินการค้นหาข้างต้นสำเร็จคุณจะได้ผลลัพธ์ดังต่อไปนี้ -
Move vertex command executed with result '[{old:#11:2, new:#13:0}]' in 0.022000 sec(s)
ดำเนินการค้นหาต่อไปนี้เพื่อย้ายชุดจุดยอดจากคลาส 'ลูกค้า' ไปยังคลาส 'พนักงาน'
orientdb> MOVE VERTEX (SELECT FROM Customer) TO CLASS:Employee
หากดำเนินการค้นหาข้างต้นสำเร็จคุณจะได้ผลลัพธ์ดังต่อไปนี้
Move vertex command executed with result '[{old:#11:0,
new:#13:1},{old:#11:1, new:#13:2},{old:#11:2, new:#13:3}]' in 0.011000 sec(s)