Skip to content

MongoDB – Clone collection ด้วยการระบุ query

ใน MongoDB คำสั่ง  cloneCollection()  ใช้สำหรับการ copy collection มี options ให้ใส่ query เพิ่ม filter document ได้เหมือนกันแต่เป็นการ copy จาก remote host มาที่ local ถ้าเราต้องการ copy บนเครื่องเดียวกันคำสั่งนี้ก็ไม่ตรงกับความต้องการของเราแล้วและเท่าที่หาข้อมูลเพิ่มเติมก็ยังไม่มีคำสั่งที่ทำงานแบบนี้โดยตรงแต่เราสามารถจัดการได้ด้วย Javascript interface ใน Mongodb shell ได้

คำสั่งข้างบนก็ใช้เหมือนกันการ query ด้วย  find()  ปกติ MongoDB จะคืนค่ามาเป็น array ของ documents ที่พบซึ่งสามรถใช้  forEach()  วนรอบ  insert()  ลงไปอีก collection ได้

Note: จาก document นี้ บอกว่า process นี้จะมีการ decode จาก BSON เป็น JSON ซึ่งอาจทำให้ type บางประเภทใช้ไม่ได้หรือ miss ไป ถ้ามีการใช้ type พิเศษให้ใช้  mongodump  นำข้อมูลออกไปทั้งก้อนแล้วใช้ mongorestore  import ข้อมูลแทน

 

Be First to Comment

Leave a Reply

Your email address will not be published.