ติดตั้งและทดสอบ mongodb บน centos7 และใช้งานบน python3(anaconda jupyter notebook)
ติดตั้ง mongodb ก่อน (แล้วแต่รุ่น หากเปลี่ยนแปลง ดูเอาเอง)
สร้างไฟล์ vi /etc/yum.repos.d/mongodb-org-3.6.repo
เพิ่มข้อมูล ลงไป
[mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc งากนั้น ติดตั้ง mongodb
sudo yum install -y mongodb-org ทำการ start service mongodb
systemctl start mongod ตั้ง start up
systemctl enable mongod จากนั้นลองใช้งาน
mongo --host 127.0.0.1:27017
(จากที่เล่น หาก เช็ค start ได้ ไม่น่ามีปัญหา )
หากหน้าจอขึ้นแบบนี้ ลองเล่นได้เลย
[root@localhost ~]# mongo --host 127.0.0.1:27017 MongoDB shell version v3.6.4 connecting to: mongodb://127.0.0.1:27017/ MongoDB server version: 3.6.4 Server has startup warnings: 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] > ใน ส่วนของ WARNING ที่ขึ้นหาแบบนี้คือ mongo แจ้งว่า เราไม่ได้ทำสิทธ์ อะไรให้กับ db อาจจะเป็นอันตราย แต่เราไม่ต้องไปทำก็เล่นได้ โดยตัวอย่างคำสั่งมีดันนี้ หากมีไม่ พอหาได้จาก https://beginnersbook.com/2017/09/mongodb-query-document-using-find-method/
show dbs (show database) use admin (database name) db (show database use) show collections use beginnersbook db.user.insert({name: "Zohan", age: 32}) db.user.find() var beginners = [ { "StudentId" : 1001, "StudentName" : "Steve", "age": 30 }, { "StudentId" : 1002, "StudentName" : "Negan", "age": 42 }, { "StudentId" : 3333, "StudentName" : "Rick", "age": 35 }, ]; db.students.insert(beginners); db.students.find({StudentName : "Steve"}).pretty() หากมาถึงตรงนี้ แสดงว่าใช้งาน mongodb ได้แล้ว ไม่มีปัญหาอะไร ต่อไปจะไปลองเล่น python3(anaconda jupyter notebook) ดู หากยังไม่มี anaconda jupyter notebook ให้ไปดูที่ http://kmzohan.com/2018/03/06/%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87-anaconda-centos7-jupyter-notebook/
โดย มีคำสั่งเพิ่มเติมดังนี้ ในการ pip เพื่อให้ python รู้จัก mongodb
pip install pymongo
จากนั้น ลองใช้ งานที่ละคำสั่งดูบน jupyter notebook
ติดต่อ Mongodb server
from pymongo import MongoClient
from pprint import pprint
client = MongoClient(‘mongodb://localhost:27017/’)
ทดสอบ ดึง status
db=client.admin
# Issue the serverStatus command and print the results
serverStatusResult=db.command(“serverStatus”)
pprint(serverStatusResult)
หากมีค่าเป็น json ออกมาแสดงว่า และไม่มี error ในชุดคำสั่งแรกแสดงว่า python ต่อกับ Mongodb server ได้แล้ว
ต่อจากมีอาจจะลองหาคำสั่งมาลองดูได้ครับ