บทช่วยสอน เอกสาร MongoDB มีการปรับปรุง ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ การปรับปรุงวิธี (),บันทึก () วิธีการ,ตัวอย่างเพิ่มเติม,

เอกสาร MongoDB มีการปรับปรุง

MongoDBใช้ปรับปรุง () และบันทึก ()วิธีการอัปเดตคอลเลกชันของเอกสาร ลองมาดูรายละเอียดที่แอพลิเคชันและความแตกต่างระหว่างทั้งสองฟังก์ชั่น


การปรับปรุงวิธี ()

ปรับปรุง () วิธีการใช้ในการปรับปรุงเอกสารที่มีอยู่ ไวยากรณ์เป็นดังนี้:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

พารามิเตอร์คำอธิบาย:

  • แบบสอบถาม: สอบถามการปรับปรุงเกณฑ์การคล้ายกับการสอบถามการปรับปรุง SQL ที่ด้านหลังด้านใน
  • UPDATE: ปรับปรุงวัตถุและบางส่วนของผู้ประกอบการใหม่ (เช่น $, $ Inc th. ) ฯลฯ นอกจากนี้ยังสามารถเข้าใจเป็นชุดกลับมาภายในสอบถามการปรับปรุงของ SQL
  • upsert: ไม่จำเป็นหมายถึงเรื่องนี้ก็คือว่าถ้าไม่มีการปรับปรุงการบันทึกจะถูกแทรก objNew จริงเพื่อแทรกค่าเริ่มต้นเป็นเท็จไม่ได้ใส่
  • หลายตัวเลือก: เริ่มต้น MongoDB เป็นเท็จเพียงเพื่อจะพบระเบียนแรกในการปรับปรุงถ้าเรื่องนี้เป็นความจริงตามเงื่อนไขที่ใส่ออกหลายระเบียนตรวจสอบการปรับปรุงทั้งหมด
  • writeConcern: ยกเว้นระดับตัวเลือกจะถูกโยนทิ้ง

ตัวอย่าง

เราใส่ Col การเก็บรวบรวมข้อมูลต่อไปนี้:

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '本教程',
    url: 'http://www.w3write.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

แล้วเรามีการปรับปรุงชื่อโดยการปรับปรุงวิธี () (ชื่อเรื่อง):

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })   # 输出信息
> db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "本教程",
        "url" : "http://www.w3write.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>

คุณสามารถเห็นชื่อ (ชื่อเรื่อง) จากเดิม "MongoDB สอน" Update เพื่อ "MongoDB."

ข้อความข้างต้นจะแก้ไขเอกสารที่พบในครั้งแรกถ้าคุณต้องการแก้ไขเอกสารเดียวกันและอื่น ๆ คุณจะต้องตั้งค่าพารามิเตอร์หลายจริง

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

บันทึก () วิธีการ

บันทึก () วิธีการโดยผ่านเอกสารเพื่อแทนที่เอกสารที่มีอยู่ ไวยากรณ์เป็นดังนี้:

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

พารามิเตอร์คำอธิบาย:

  • เอกสารข้อมูลเอกสาร
  • writeConcern: ยกเว้นระดับตัวเลือกจะถูกโยนทิ้ง

ตัวอย่าง

ตัวอย่างต่อไปนี้เราแทนที่ _id เป็นข้อมูลเอกสาร 56064f89ade2f21f36b03136:

>db.col.save({
	"_id" : ObjectId("56064f89ade2f21f36b03136"),
    "title" : "MongoDB",
    "description" : "MongoDB 是一个 Nosql 数据库",
    "by" : "w3big",
    "url" : "http://www.w3write.com",
    "tags" : [
            "mongodb",
            "NoSQL"
    ],
    "likes" : 110
})

หลังจากที่เปลี่ยนใหม่จะประสบความสำเร็จที่เราสามารถทำได้ () คำสั่งเพื่อดูข้อมูลหลังจากการเปลี่ยนจากการค้นหา

>db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "w3big",
        "url" : "http://www.w3write.com",
        "tags" : [
                "mongodb",
                "NoSQL"
        ],
        "likes" : 110
}
> 

ตัวอย่างเพิ่มเติม

ปรับปรุงเฉพาะระเบียนแรก:

db.col.update ({ "นับ": {$ GT: 1}}, {$ ตั้ง: { "test2": "OK"}});

อัพเดททั้งหมด:

db.col.update ({ "นับ": {$ GT: 3}}, {$ ตั้ง: { "test2": "OK"}} เท็จจริง);

เพิ่มเพียงครั้งแรก:

db.col.update ({ "นับ": {$ GT: 4}}, {$ ตั้ง: { "test5": "OK"}} จริงเท็จ);

เพิ่มเพิ่มทั้งหมด:

db.col.update ({ "นับ": {$ GT: 5}}, {$ ตั้ง: { "test5": "OK"}} จริงจริง);

อัพเดททั้งหมด:

db.col.update ({ "นับ": {$ GT: 15}}, {$ Inc: { "นับ": 1}} เท็จจริง);

ปรับปรุงเฉพาะระเบียนแรก:

db.col.update ({ "นับ": {$ GT: 10}}, {$ Inc: { "นับ": 1}} เท็จเท็จ);
เอกสาร MongoDB มีการปรับปรุง
10/30