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")
留言