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)