Upgrade MongoDB on Ubuntu

ให้ตรวจสอบ version ของ MongoDB โดยใช้คำสั่ง

$ mongod –version
db version v2.2.0, pdfile version 4.5
Wed Mar 27 18:43:24 git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207

ต่อมาให้ตรวจสอบว่า MongoDB กำลังทำงานอยู่หรือไม่ โดยใช้คำสั่ง

$ ps -deaf | grep mongod
ubuntu 23415 4264 0 18:43 pts/0 00:00:00 grep –color=auto mongod
mongodb 27549 1 0 2012 ? 16:01:17 /usr/bin/mongod –config /etc/mongodb.conf

ในการ Shutdown MongoDB
$ ./mongo
> use admin
> db.shutdownServer()
server should be down…

หลังจากนั้นให้ upgrade ตามเอกสารนี้ http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

เพิ่ม 10Gen(ผู้สร้าง MongoDB) public key เข้าไปใน apt-get package:

$ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv 7F0CEB10
$ echo “deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen” >> /etc/apt/sources.list.d/10gen.list

Update packages ในระบบ:

$ sudo apt-get update

ติดตั้ง 10gen’s MongoDB Debian/Ubuntu package:

$ sudo apt-get install mongodb-10gen #ในกรณีที่ต้องการติดตั้งเป็นเวอร์ชี่นล่าสุด
$ sudo apt-get install mongodb-10gen=2.2.3 #ในกรณีที่ต้องการติดตั้งแบบระบุเวอร์ชี่น

เมื่อรัน command ตามนี้ mongodb version เดิมจะถูกลบออกไป
และติดตั้ง version ใหม่ล่าสุดที่ถูกระบุใน mongodb-10gen

ในกรณีที่เกิด error ให้ลอง:

$ apt-get autoremove

ดูให้แน่ใจว่า user/group ของ mongodb มี permission ในการเขียนข้อมูลลงใน directory:

$ sudo chown -R mongodb:mongodb /var/lib/mongodb/.

Start up MongoDB ใน Daemon (background process) ให้ใช้ command ตามนี้:

$ mongod –fork –dbpath /var/lib/mongodb/ –smallfiles –logpath /var/log/mongodb.log –logappend

ถ้าต้องการ ShutDown MongoDB ให้รัน command ใน Mongo CLI, ด้วย admin และ ตามด้วย shutdown command:

$ ./mongo
> use admin
> db.shutdownServer()

แก้ปัญหาภาษาไทยกับ URL Encode/Decode

ในบางครั้งเมื่อเราต้องแนบตัวอักษรไปกับ url เช่นการ search เราจะต้องเจอกับตักอักษรประหลาดๆ เช่นคำว่า “ทะเล” แต่ผลลัพที่ได้จะออกมาเป็น “%E0%B8%97%E0%B8%B0%E0%B9%80%E0%B8%A5” ทำให้เราไม่สามารถนำไป query ได้

เราสามารถแก้ไขได้โดยใช้ rawurlencode($string) และ rawurldecode($string)

ก่อนแนบ string ไปกับ url เราใช้ rawurlencode($string)
หลังจากนั้นเราใช้ rawurldecode($string) เพื่อคืนค่าที่ถูกต้องกลับมา

How can I edit a view using phpMyAdmin?

  1. เริ่มแรกใช้คำสั่ง : SHOW CREATE VIEW your_view_name เพื่อแสดง VIEW ที่เคยเขียนไว้
  2. คลิกที่ options เพื่อขยายกล่องเคลื่องมือออก แล้วเลือกที่ Full Texts
  3. กดที่ปุ่ม Go
  4. คัดลอกเนื้อหาทั้งหมดในคอลั่ม Create View
  5. แก้ไข query ตามที่ต้องการ
  6. เปลี่ยน CREATE … เป็น CREATE OR REPLACE … แล้วรัน query
  7. จบ

PyroCMS 1.3 Templete Tag Reference

Tags
{pyro:settings:site_name}
{pyro:settings:site_slogan} – or any other setting
{pyro:variables:foo}

Plugins
{pyro:navigation:links group=”header”}

{pyro:session:data name=”foo”}
{pyro:session:flash name=”foo”}

{pyro:session:messages}
{pyro:session:messages success=”success-box” notice=”notice-box” error=”error-box”}

{pyro:template:title}
{pyro:template:metadata}
{pyro:template:body}
{pyro:template:partial name=”sidebar”}

{pyro:theme:path} – produces /path/to/addons/theme/xxx/
{pyro:theme:partial name=”header”}
{pyro:theme:css file=”style.css”}
{pyro:theme:js file=”jquery.js”}
{pyro:theme:image file=”logo.gif”}

{pyro:pages:url id=”2″}

{pyro:url:current} – outputs http://example.com/the/current/url
{pyro:url:base} – outputs http://example.com/
{pyro:url:segments segment=”2″ default=”something”}

{pyro:helper:lang line=”foo”}
{pyro:helper:date format=”d/m/Y”}

{pyro:pages:children id=”2″}
{title}
{/pyro:pages:children}

{pyro:news:posts limit=”5″}
<h2>{title}</h2>
{body}
{/pyro:news:posts}

{pyro:widgets:area slug=”sidebar”}
{pyro:widgets:instance id=”8″}

reference: http://stackoverflow.com/questions/4281073/pyrocms-helper-documentation