เริ่มต้นใช้งาน MongoDB สำหรับผู้เริ่มต้น

เรียนรู้ว่า MongoDB คู่มือการติดตั้งและการใช้งานพื้นฐานคืออะไร.


MongoDB NoSQL กำลังได้รับความนิยมอย่างมาก คุณมีความเข้าใจที่จำเป็นหรือไม่?

ไม่ต้องกังวลถ้าไม่ได้สิ่งต่อไปนี้จะช่วยคุณ.

บทนำ

เมื่อเว็บไซต์เปลี่ยนกระบวนทัศน์ไปสู่เนื้อหาแบบไดนามิกความต้องการฐานข้อมูล No-SQL ก็เพิ่มขึ้น สิ่งนี้ก่อให้เกิดฐานข้อมูล No-SQL จำนวนมากเช่น MongoDB.

จัดเป็นฐานข้อมูลที่ไม่มี SQL, MongoDB เป็นฐานข้อมูลที่ใช้เอกสารซึ่งเก็บข้อมูลในรูปแบบของเอกสาร JSON ที่มีการสร้างอัตโนมัติที่ระบุสำหรับเอกสารทุกฉบับ.

ฐานข้อมูล No SQL เป็นฐานข้อมูลที่โครงสร้างตารางไม่คงที่ซึ่งแตกต่างจากฐานข้อมูล SQL ที่มีโครงสร้าง MongoDB เก็บข้อมูลในรูปแบบของสตริง JSON โดยไม่คำนึงถึงการนับของแอตทริบิวต์หรือชื่อของแอตทริบิวต์ในคอลัมน์ที่ระบุ.

สิ่งนี้ทำให้นักพัฒนาสามารถทำการเปลี่ยนแปลงอย่างรวดเร็วในเอนทิตีโดยไม่จำเป็นต้องมีการเปลี่ยนแปลงใด ๆ ในระดับฐานข้อมูล.

ติดตั้ง MongoDB

MongoDB เช่นเดียวกับฐานข้อมูลอื่น ๆ มีให้บริการในหลากหลายรุ่นขึ้นอยู่กับความต้องการในการพัฒนา ตัวแปรมีอยู่ในรายการด้านล่างและสามารถใช้หรือดาวน์โหลดได้จากสิ่งนี้ ลิงค์

  • MongoDB Atlas – ฐานข้อมูลเป็นบริการ
  • Community Server – ฟรีสำหรับชุมชนนักพัฒนา
  • MongoDB Enterprise Edition – เวอร์ชั่นเชิงพาณิชย์พร้อมฟีเจอร์เพิ่มเติม

แต่ละอย่างเข้ากันได้กับทุกระบบปฏิบัติการ ในการเริ่มต้นด้วยการติดตั้งเซิร์ฟเวอร์ชุมชนให้ดาวน์โหลดไฟล์การติดตั้งที่เกี่ยวข้องตามระบบปฏิบัติการของคุณ.

กระบวนการติดตั้งแตกต่างกันเล็กน้อยสำหรับทุกระบบปฏิบัติการและด้วยเหตุนี้เราจะผ่านการติดตั้งระบบปฏิบัติการแต่ละครั้งแยกกัน.

การติดตั้งใน MacOS

เพื่อติดตั้ง MongoDB ใน MacOS ดาวน์โหลดไฟล์. tgz ที่มีไฟล์ไบนารีที่จำเป็น ในการยกเลิกการเก็บถาวรไฟล์คุณควรสามารถดูไบนารีที่อยู่ใน ถัง โฟลเดอร์.

  • ย้ายโฟลเดอร์ bin ไปยังตำแหน่งที่ต้องการ
  • เปิดเทอร์มินัลและเปลี่ยนไดเรกทอรีเป็นไดเรกทอรีช่องเก็บที่กล่าวถึงข้างต้น
  • ดำเนินการคำสั่งด้านล่างเพื่อสร้างฐานข้อมูลในตำแหน่งที่ต้องการ.

$ ./mongod –dbpath / เส้นทางไปยังไดเรกทอรีที่ต้องการ /

ในคำสั่งด้านบนให้เปลี่ยนเส้นทางไปยังไดเรกทอรีด้วยเส้นทางที่คุณต้องการและเซิร์ฟเวอร์จะเริ่มทำงานทันทีที่คำสั่งถูกเรียกใช้งาน.

การติดตั้งใน Windows

ศูนย์ดาวน์โหลด MongoDB จัดทำไฟล์ได้ .MSI แพ็คเกจสำหรับการติดตั้ง MongoDB ลงใน windows การติดตั้งใน windows นั้นค่อนข้างตรงไปตรงมาและสามารถทำได้โดยใช้คำสั่งไม่กี่ครั้งเมื่อการติดตั้งถูกดาวน์โหลด.

  • ดำเนินการคำสั่งด้านล่างเพื่อติดตั้ง MongoDB ใน Windows PC / เซิร์ฟเวอร์.

> cd / setup-folder /
> msiexec.exe / q / i .msi ^
INSTALLLOCATION ="C: \ Program Files \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

คำสั่งข้างต้นจะนำคุณไปยังไดเรกทอรีที่เกี่ยวข้องและดำเนินการตั้งค่าสำหรับการติดตั้งในตำแหน่งที่ระบุ เมื่อติดตั้งแล้วคุณจะต้องกำหนดค่าเส้นทางการจัดเก็บฐานข้อมูลเริ่มต้นสำหรับ MongoDB คำสั่งด้านล่างช่วยให้คุณกำหนดค่าเดียวกัน

> md \ db \ data

คำสั่งดังกล่าวสร้างโฟลเดอร์ db / data ในไดเรกทอรีที่พรอมต์คำสั่งชี้ไปที่ปัจจุบัน ในกรณีที่คุณต้องการกำหนดค่าฐานข้อมูลอีกครั้งคุณสามารถใช้ mongod.exe กับ DBPath อาร์กิวเมนต์ที่แสดงด้านล่าง:

>"C: \ Program Files \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

การติดตั้งใน Linux

เช่นเดียวกับการดาวน์โหลด MacOS, MongoDB สำหรับ Linux มีให้บริการในรูปแบบของไบนารีที่เก็บถาวร กระบวนการในการติดตั้ง MongoDB นั้นค่อนข้างคล้ายกัน.

  • ย้ายไบนารีไปยังตำแหน่งที่ต้องการ
  • เปิด terminal ในโฟลเดอร์
  • ดำเนินการคำสั่งด้านล่างด้วยตำแหน่งฐานข้อมูลที่ต้องการ

$ ./mongod –dbpath / เส้นทางไปยังไดเรกทอรีที่ต้องการ /

สร้างคอลเลกชันแรก

MongoDB จัดเก็บข้อมูลในรูปแบบของเอกสาร JSON กลุ่มของเอกสารดังกล่าวเป็นที่รู้จักกันโดยรวมว่าเป็นคอลเลกชันใน MongoDB ดังนั้นคอลเลกชันจะคล้ายคลึงกับตารางในฐานข้อมูลเชิงสัมพันธ์ในขณะที่เอกสารนั้นคล้ายคลึงกับเรกคอร์ด.

ในการจัดเก็บเอกสารเราต้องสร้างคอลเลกชันก่อน สิ่งที่น่าตื่นเต้นเกี่ยวกับฐานข้อมูล NoSQL ก็คือไม่เหมือนกับฐานข้อมูล SQL คุณไม่จำเป็นต้องระบุชื่อคอลัมน์หรือชนิดข้อมูลในนั้น.

ขั้นตอนแรกในการสร้างคอลเลกชันคือการสร้างฐานข้อมูล เพื่อสร้างฐานข้อมูลและเชื่อมต่อกับมันโดยใช้บรรทัดคำสั่งดำเนินการคำสั่งด้านล่างจากไดเรกทอรีบ้านติดตั้ง MongoDB.

$ ./bin/mongo บทช่วยสอน

คำสั่งนี้ใช้เพื่อเริ่มการเชื่อมต่อฐานข้อมูลและเชื่อมต่อกับฐานข้อมูลการสอนพร้อมกัน มันจะแสดงกลุ่มของบรรทัดในบันทึกเพื่อระบุว่าบรรทัดคำสั่งเชื่อมต่อกับฐานข้อมูล MongoDB.

ภาพบรรทัดคำสั่งตัวอย่างได้รับการแสดงด้านล่างเพื่อให้คุณมีความคิดที่ดีขึ้นเกี่ยวกับเดียวกัน.

  • ในการสร้างคอลเลกชันให้ดำเนินการคำสั่งด้านล่าง:

$ > db.createCollection ( ‘firstCollection’);

นี่คือวิธีการสร้างคอลเลกชันที่ว่างเปล่า ขั้นตอนต่อไปคือการแทรกข้อมูลและทำการประมวลผลบางอย่างบนระเบียนโดยใช้บรรทัดคำสั่ง MongoDB.

การแทรกเอกสารลงในคอลเล็กชัน

ตามที่กล่าวไว้ข้างต้นเป็นไปได้ที่จะแทรกเกือบทุก JSON ลงในทุกคอลเลกชัน MongoDB.

ให้เราเริ่มต้นด้วยการแทรกเอกสาร JSON แรกลงใน firstCollection คอลเล็กชันที่สร้างขึ้นด้านบน.

> db.firstCollection.insertOne ({ชื่อ: ‘Abhishek’ ทักษะ ‘MongoDB’});

คำสั่งดังกล่าวแทรกเอกสาร JSON เดียวลงใน firstCollection เดียวกันสามารถตรวจสอบได้โดยใช้คำสั่งที่แสดงด้านล่าง:

> db.firstCollection.find ();

คำสั่งดังกล่าวมีการใช้งานหลายครั้งขึ้นอยู่กับรูปแบบของฟังก์ชั่น find () เมื่อไม่มีข้อโต้แย้งที่ระบุไว้เป็นกรณีที่มีคำสั่งดังกล่าวจะดึงเอกสารที่มีอยู่ทั้งหมดจากคอลเลกชัน.

คุณสามารถแทรกอีกหนึ่งระเบียนและลองทำเช่นเดียวกัน ในการทำเช่นนั้นผลลัพธ์ของคำสั่งดังกล่าวจะคล้ายกับที่แสดงด้านล่าง:

> db.firstCollection.find ();
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "ชื่อ" : "Abhishek", "ความสามารถ" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "ชื่อ" : "GeekFlare", "ความสามารถ" : "Java, MongoDB, NodeJS" }

ตามที่สามารถเห็นได้มีสองระเบียนที่มีอยู่ถูกแสดง ฟังก์ชัน find () สามารถใช้ในการกรองเอกสารตามพารามิเตอร์ที่ระบุได้ง่าย ให้เรากรองเอกสารโดยใช้แอตทริบิวต์ name.

กระบวนการตัวกรองนั้นง่ายและสามารถเข้าใจได้จากคำสั่งด้านล่าง:

db.firstCollection.find ({ชื่อ: ‘Abhishek’});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "ชื่อ" : "Abhishek", "ความสามารถ" : "MongoDB" }

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

กรองระเบียนโดยใช้ Regex

ในการดำเนินการเทียบเท่ากับ MongoDB ของ MySQL เช่นส่วนคำสั่ง MongoDB ใช้ regex. Regex เป็นชุดของอักขระที่สร้างรูปแบบเพื่อจับคู่ ตัวอักษร regex นั้นคล้ายกับ สิ่งที่ใช้ใน Javascript.

สำหรับการรวบรวมปัจจุบันเราจะพยายามดึงข้อมูลโดยจับคู่รูปแบบสำหรับแอตทริบิวต์ทักษะ คำสั่งด้านล่างได้รับรายชื่อของคนที่มีทักษะ MongoDB ดังนั้นมันจะดึงข้อมูลสองรายการเนื่องจากทั้งคู่มีสตริง MongoDB.

> db.firstCollection.find ({ทักษะ:. /.* MongoDB * /});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "ชื่อ" : "Abhishek", "ความสามารถ" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "ชื่อ" : "GeekFlare", "ความสามารถ" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({ทักษะ:. /.* Java * /});
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "ชื่อ" : "GeekFlare", "ความสามารถ" : "Java, MongoDB, NodeJS" }

รหัสข้างต้นแสดงผลของสองสายที่แตกต่างกันในรูปแบบ regex แบบสอบถามแรกดึงรายการของเอกสารที่แอตทริบิวต์ skill บรรจุคำสำคัญ MongoDB ในขณะที่อีกแบบสอบถามเรียกคนที่มีทักษะใน Java เท่านั้น.

ความท้าทายต่อไปในการสืบค้นตามเกณฑ์คือการค้นหาด้วยเงื่อนไข OR หรือ.

แบบสอบถามที่ซับซ้อนใน MongoDB

เนื่องจากชัดเจนจากคำสั่งข้างต้น MongoDB ที่ส่วนคำสั่งทำงานบน JSON กระบวนการของการรวมเงื่อนไขยังขึ้นอยู่กับ JSON เอง MongoDB ให้บริการตัวดำเนินการเช่น $ หรือ $ และเช่นเดียวกับ $ ไม่ดำเนินการค้นหาที่เกี่ยวข้อง.

ให้เราลองรับรายการเอกสารที่ attribute name มี Abhishek หรือทักษะมี Java.

> db.firstCollection.find ({$ หรือ: [{name: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "ชื่อ" : "Abhishek", "ความสามารถ" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "ชื่อ" : "Geekflare", "ความสามารถ" : "Java, MongoDB, NodeJS" }

ตามที่สามารถเห็นได้มันดึงข้อมูลทั้งสอง คุณสามารถลองใช้แอตทริบิวต์ name เป็น Geekflare และดูการเปลี่ยนแปลง จะแสดงเฉพาะเอกสารที่มีสามทักษะและชื่อ Geekflare.

ในทำนองเดียวกันมันเป็นไปได้ที่จะใช้ $ และโอเปอเรเตอร์กับอาร์เรย์ของเงื่อนไข JSON ดังที่แสดงด้านบน.

สำหรับโอเปอเรเตอร์ชุดถัดไปเราจะต้องสร้างอีกหนึ่งคอลเล็กชันและเพิ่มเรคคอร์ดบางส่วนโดยใช้คำสั่งด้านล่าง.

> db.createCollection ( ‘studentmarks’);
{ "ตกลง" : 1}
> db.studentmarks.insertMany ([{ชื่อ: ‘A’ เครื่องหมาย: 20}, {ชื่อ: ‘B’ เครื่องหมาย: 25}, {ชื่อ: ‘C’ เครื่องหมาย: 22}, {ชื่อ: ‘D’ เครื่องหมาย: 30}]);
{
"ที่ยอมรับ" : จริง,
"insertedIds" : [
มี objectid ("5b06e7b5c29a7184535e783c"),
มี objectid ("5b06e7b5c29a7184535e783d"),
มี objectid ("5b06e7b5c29a7184535e783e"),
มี objectid ("5b06e7b5c29a7184535e783f")
]
}

ตัวดำเนินการชุดถัดไปที่เราจะใช้คือตัวดำเนินการเปรียบเทียบในแบบสอบถาม เพื่อเปรียบเทียบค่าโดยใช้เกณฑ์เช่น น้อยกว่า หรือ มากกว่า หรือ ไม่เท่ากับ, เราใช้ผู้ประกอบการที่เกี่ยวข้องในมูลค่าที่เราผ่าน.

ตัวอย่างการรับรายชื่อนักเรียนที่มีเครื่องหมายมากกว่า 22 แสดงอยู่ด้านล่าง.

db.studentmarks.find ({เครื่องหมาย: {$ gt: 22}});
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783d"), "ชื่อ" : "B", "เครื่องหมาย" : 25}
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783f"), "ชื่อ" : "D", "เครื่องหมาย" : 30}

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

ผู้ประกอบการ
ใช้
ตัวอย่าง
$ EQตรวจสอบว่าค่าเท่ากัน{เครื่องหมาย: {$ EQ: 20}}
$ LTตรวจสอบว่าค่าน้อยกว่า{เครื่องหมาย: {$ lt: 20}}
$ gteตรวจสอบว่าค่ามากกว่าหรือเท่ากับ{เครื่องหมาย: {$ gte: 22}}
$ LTEตรวจสอบว่าค่าน้อยกว่าขอบคุณหรือเท่ากับ{เครื่องหมาย: {$ LTE: 22}}
$ ภาคตะวันออกเฉียงเหนือตรวจสอบว่าค่าไม่เท่ากับ{เครื่องหมาย: {$ ภาคตะวันออกเฉียงเหนือ: 22}}
ดอลลาร์ตรวจสอบว่าค่าเท่ากับค่าใดค่าหนึ่งจากอาร์เรย์{เครื่องหมาย: {$ ใน: [20,22]}}
$ ninตรวจสอบว่าค่าไม่เท่ากับค่าใด ๆ จากอาร์เรย์{เครื่องหมาย: {$ nin: [22,25]}}

GUI สำหรับ MongoDB

ในการสนทนาข้างต้นเราได้ใช้บรรทัดคำสั่งเพื่อดำเนินการค้นหาของเราใน MongoDB.

การใช้บรรทัดคำสั่งอาจเป็นเรื่องที่ท้าทายเมื่อพูดถึงข้อความค้นหาที่ซับซ้อนและข้อมูลจำนวนมาก เพื่อให้ง่ายต่อการดูข้อมูลและดำเนินการสืบค้น MongoDB มอบเครื่องมือ GUI ที่ยอดเยี่ยมที่เรียกว่า MongoDB Compass.

เข็มทิศ MongoDB สามารถดาวน์โหลดได้ง่ายจาก เว็บไซต์ดาวน์โหลด MongoDB. เมื่อคุณดาวน์โหลดและติดตั้ง MongoDB Compass แล้วให้เริ่มแอปพลิเคชั่นและคุณจะได้รับการต้อนรับจากหน้าจอคล้ายกับหน้าจอที่แสดงด้านล่าง.

MongoDBCompass

เมื่อพิจารณาว่าคุณมีเซิร์ฟเวอร์ MongoDB แล้วให้คลิกเชื่อมต่อกับรายละเอียดเริ่มต้น คุณควรล็อกอินและแสดงรายการฐานข้อมูลที่มีอยู่.

คลิกฐานข้อมูลบทช่วยสอนเพื่อตรวจสอบรายชื่อชุดรวมในบทช่วยสอนการสอน ดังแสดงด้านล่างจะแสดงรายการคอลเลกชันที่มีอยู่ในบทช่วยสอนการสอน.

เมื่อคลิกที่คอลเล็กชันจะแสดงรายการเอกสารพร้อมตัวควบคุมที่จำเป็นในการกรองระเบียนโดยใช้ JSON รวมถึงเครื่องมืออำนวยความสะดวกในการดูเอกสารในรูปแบบ JSON หรือรูปแบบตารางตามความสะดวกของเรา.

GUI ยังทำให้การเพิ่มเอกสารง่ายขึ้น สิ่งที่คุณต้องทำคือคลิกปุ่มแทรกเอกสารในหน้าจอที่แสดงด้านล่าง มันจะเปิดกล่องโต้ตอบขนาดเล็กเพื่อขอรายละเอียดเอกสารด้วยรหัสเอกสารที่สร้างขึ้นโดยอัตโนมัติ.

MongoDBDocuments

GUI ลดความยุ่งยากของการดำเนินงานจำนวนมากที่อาจทำได้ยากโดยใช้อินเตอร์เฟสบรรทัดคำสั่ง MongoDB.

ข้อสรุป

เรารวบรวมสาระสำคัญของ NoSQL ด้วยตัวอย่างที่หลากหลายและเข้าใจการติดตั้งว่าเอกสารแตกต่างอย่างไรเมื่อเปรียบเทียบกับบันทึกฐานข้อมูลเชิงสัมพันธ์ทั่วไป คุณอาจอ้างถึงสิ่งนี้ การเรียนรู้ MongoDB ตั้งแต่เริ่มต้น หลักสูตรออนไลน์.

และถ้าคุณเป็นนักพัฒนาคุณอาจสนใจ อันนี้.

Tags:

  • ฐานข้อมูล

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map