MongoDB 初體驗

因為 Web Mining final project 我們想做 twitter tweet 的 clustering 及 classification,所以需要從 twitter 下載大量的 Tweet 做為實驗用途。一開始我是把這些 tweet 存成 JSON 在文字檔裡,不過隨著 tweet 量越來越多,用文字檔實在很難處理。由於本來就是存成JSON的格式,所以就想到了 MongoDB。

之前只有玩過try MongoDB, 從來沒有好好用過他,這次剛好有這個機會就來用一下 :P

裝好MongoDB後就可以開始始用了。由於這次 project 是用 ruby 寫的(因為有方便的 Twitter Gem 可以用),所以我用了 Mongo Gem  。Mongo Gem 的用法跟 Mongo shell 裡的用法差不多,簡單的用法如下,更多的說明可以參考 Mongo Gem 的 wiki

#!/usr/bin/env ruby
require 'mongo'

include Mongo

mongo_client = MongoClient.new("localhost", 27017)
db = mongo_client.db("test_db")

# Add user
db.add_user("test", "pwd")

# Authenticate, required when remote access
db.authenticate("test", "pwd")

col = db.collection("test_collection")

for i in 1..100
  col.insert({:seq => i, :val => i * 2})
end

# List all record
col.find.each do |rec|
  puts rec
end

# List record where val == 4
col.find({:val => 4}).each do |rec|
  puts rec
end

# Remove record where val == 4
col.remove({:val => 4})

# Drop collection
col.drop

# Drop database
mongo_client.drop_database("test_db")

留言

這個網誌中的熱門文章

決定了!!!

P.S. I Love You

Tips: PPTP client on Openwrt