1. เริ่มต้นก็ต้องหาอ่านเอกสารเรื่องการติดตั้ง MongoDB พบว่าที่ http://php-for-ecommerce.blogspot.com/2012/07/mongodb-window-7.html อธิบายการติดตั้งไว้ละเอียดดีมาก 2. download : MongoDB จาก https://www.mongodb.org/downloads เลือก Version: Windows 32-bit แบบ zip file แล้ว unzip 3. สร้าง folder ชื่อ C:\mongodb\data สำหรับเก็บข้อมูล แล้วสั่งเปิดบริการ Mongo DB ด้วย DOS>C:\mongodb\bin\mongod.exe --dbpath C:\mongodb\data 2015-... I CONTROL 2015-... W CONTROL 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. 2015-... I CONTROL 2015-... I CONTROL [initandlisten] MongoDB starting : pid=5112 port=27017 dbpath=C:\mongodb\data 32-bit host=desktop2 2015-... I CONTROL [initandlisten] 2015-... I CONTROL [initandlisten] ** NOTE: This is a 32 bit MongoDB binary. 2015-... I CONTROL [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal). 2015-... I CONTROL [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off. 2015-... I CONTROL [initandlisten] ** See http://dochub.mongodb.org/core/32bit 2015-... I CONTROL [initandlisten] 2015-... I CONTROL [initandlisten] targetMinOS: Windows XP SP3 2015-... I CONTROL [initandlisten] db version v3.0.6 2015-... I CONTROL [initandlisten] git version: 1ef45a23a4c5e3480ac919b28afcba3c615488f2 2015-... I CONTROL [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, .................. 2015-... I CONTROL [initandlisten] allocator: tcmalloc 2015-... I CONTROL [initandlisten] options: { storage: { dbPath: "C:\mongodb\data" } } 2015-... I NETWORK [initandlisten] waiting for connections on port 27017 4. download : Mongo PHP Extension on Windows สำหรับ PHP ที่ http://pecl.php.net/package/mongo/1.5.1/windows เลือก 5.6 Thread Safe (TS) x86 ที่ http://windows.php.net/downloads/pecl/releases/mongo/1.5.1/php_mongo-1.5.1-5.6-ts-vc11-x86.zip 5. คลาย .zip ลงไปในห้อง ext ของ php แล้วเพิ่ม php_mongo.dll ใน php.ini เป็น extension=php_mongo.dll แล้วสั่ง restart webserver ในกรณีนี้ใช้ XAMPP 6. เขียน php เรียกดู phpinfo() ว่า MongoDB พร้อมให้บริการหรือไม่ 7. ทดสอบใช้ DOS>mongo ทดสอบการทำงานของ MongoDB MongoDB shell version: 1.8.1 connecting to: test > show dbs local 0.078GB มีเป้าหมายสร้าง Database ชื่อ thaiall มี collection ชื่อ myteam และ insert ค่าให้กับ myid เป็น 101 หรือมีเป้าหมายสร้าง Database ชื่อ mkyongdb มี collection ชื่อ users และ insert ค่าให้กับ username เป็น mkyong ดูตัวอย่างที่ http://www.mkyong.com/mongodb/how-to-create-database-or-collection-in-mongodb/ > show dbs // แสดงรายชื่อฐานข้อมูล > use thaiall // เปิดใช้ฐานข้อมูล แม้ไม่มีอยู่ก็เปิดใช้ชั่วคราว เดี๋ยวค่อยบันทึก > db.myteam.save( {myid:"101"} ) // บันทึกข้อมูล 101 ใน myid > db.myteam.find() // แสดงข้อมูลใน collection ทั้งหมด ของ thaiall { "_id" : ObjectId("56110d86c6025b6b6f8f4687"), "myid" : "101" } >show dbs thaiall 0.078GB local 0.078GB 8. เขียน test_mongo.php เป็นเรื่องเป็นราว ทำงานกับ MongoDB มีตัวอย่างที่ http://php.net/manual/en/mongo.tutorial.php <?php // connect $m = new MongoClient(); // select a database $db = $m->comedy; // select a collection (analogous to a relational database's table) $collection = $db->cartoons; // add a record $document = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" ); $collection->insert($document); // add another record, with a different "shape" $document = array( "title" => "XKCD", "online" => true ); $collection->insert($document); // find everything in the collection $cursor = $collection->find(); // iterate through the results foreach ($cursor as $document) { echo $document["title"] . "\n"; } ?> 9. ดูผลด้วย DOS>mongo > show dbs > use comedy // เรียกใช้ database > db.cartoons.find() // show all records { "_id" : ObjectId("5611144b116b377011000029"), "title" : "Calvin and Hobbes", "author" : "Bill Watterson" } { "_id" : ObjectId("5611144b116b37701100002a"), "title" : "XKCD", "online" : true } { "_id" : ObjectId("56111451116b37701100002b"), "title" : "Calvin and Hobbes", "author" : "Bill Watterson" } { "_id" : ObjectId("56111451116b37701100002c"), "title" : "XKCD", "online" : true } { "_id" : ObjectId("56111452116b37701100002d"), "title" : "Calvin and Hobbes", "author" : "Bill Watterson" } { "_id" : ObjectId("56111452116b37701100002e"), "title" : "XKCD", "online" : true } 10. ถ้าเรียก test_mongo.php ซ้ำ จำนวนข้อมูลก็จะเพิ่มขึ้นเท่านั้น แต่ _id ของข้อมูลจะเปลี่ยนไป