Latest web development tutorials
×

MongoDB หลักสูตร

MongoDB หลักสูตร NoSQL แนะนำโดยย่อ MongoDB แนะนำโดยย่อ Window ติดตั้ง MongoDB Linux ติดตั้ง MongoDB MongoDB การแปลความหมายของแนวคิด MongoDB สัมพันธ์ MongoDB การสร้างฐานข้อมูล MongoDB ลบฐานข้อมูล MongoDB แทรกเอกสาร MongoDB การปรับปรุงเอกสาร MongoDB การลบเอกสาร MongoDB เอกสารแบบสอบถาม MongoDB ผู้ประกอบการที่มีเงื่อนไข MongoDB $type ผู้ประกอบการ MongoDB Limit & Skip MongoDB ลำดับ MongoDB ดัชนี MongoDB การรวมตัว MongoDB สำเนา MongoDB ชิ้น MongoDB สำรองและกู้คืน MongoDB หน้าจอ MongoDB Java MongoDB PHP กระจาย MongoDB PHP MongoDB PHP7

MongoDB การสอนที่ทันสมัย

MongoDB ความสัมพันธ์ MongoDB อ้างอิงฐานข้อมูล MongoDB ครอบคลุมแบบสอบถามดัชนี MongoDB การวิเคราะห์แบบสอบถาม MongoDB การดำเนินงานของอะตอม MongoDB การจัดทำดัชนีขั้นสูง MongoDB ข้อ จำกัด ของดัชนี MongoDB ObjectId MongoDB Map Reduce MongoDB ค้นหาข้อความเต็ม MongoDB นิพจน์ปกติ MongoDB เครื่องมือการจัดการ MongoDB GridFS MongoDB ชุดถาวร MongoDB การเจริญเติบโตอัตโนมัติ

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

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


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

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

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

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

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

ตัวอย่าง

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

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '本教程',
    url: 'http://www.w3big.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.w3big.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.w3big.com",
    "tags" : [
            "mongodb",
            "NoSQL"
    ],
    "likes" : 110
})

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

>db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "w3big",
        "url" : "http://www.w3big.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}} เท็จเท็จ);