Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

แบบสอบถาม MongoDB เพื่อเปลี่ยนฟิลด์ธรรมดาเป็นวัตถุ?


สำหรับสิ่งนี้ คุณสามารถใช้ $rename ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.changeSimpleFieldDemo.insertOne({"StudentMarks":58,"StudentSubject":"MySQL"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0847a825ddae1f53b62205")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

> db.changeSimpleFieldDemo.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e0847a825ddae1f53b62205"), "StudentMarks" : 58, "StudentSubject" : "MySQL" }

นี่คือแบบสอบถามเพื่อเปลี่ยนเขตข้อมูลเป็นวัตถุ ฟิลด์ "obj" เป็นชื่อฟิลด์ชั่วคราวที่เราใช้ด้านล่าง -

> db.changeSimpleFieldDemo.update({}, {$rename: {Student: 'obj'}}, {multi: true});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
> db.changeSimpleFieldDemo.update({},
... {$rename: {obj: 'Student.Marks', discountType: 'Student.Subject'}},
... {multi: true});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })