MongoDB

mongoidで"db_name must be a string or symbol (TypeError)"

sinatra+mongoidで、 http://mongoid.org/docs/installation/configuration.html にあるようにmongoid.ymlを作って Mongoid.load!("path/to/your/mongoid.yml") で読み込ませて、modelをnewした時点で"db_name must be a string or symbol (TypeError)"が起…

MongoDBのRESTインタフェースを使う

http://www.mongodb.org/pages/viewpage.action?pageId=783186527017でふだんmongodbを起動していると、+1000したport 28017でhttpで管理画面が出る http://localhost:28017 さらに起動時に--restを付けると mongod run --config /usr/local/Cellar/mongodb/…

daemontoolsで起動させてるmongodb

再起動した時repairしないといかん mongodbは自分のユーザで起動してる sudo svc -d /service/mongod/ sudo rm /var/mongod/mongod.lock mongod --repair --config /usr/local/share/mongod/mongod.conf sudo svc -u /service/mongod/

daemontoolsでmongodb起動する設定

mongod.confを作っておくといい/usr/local/share/mongod/mongod.conf dbpath = /var/mongod bind_ip = 127.0.0.1 /service/mongod/run #!/bin/sh exec 2>&1 exec setuidgid sho mongod --config /usr/local/share/mongod/mongod.conf

mongodbでpaging

limitとskipでpagingに便利 #!/usr/bin/env ruby # -*- coding: utf-8 -*- require 'rubygems' require 'mongo' $KCODE = 'u' page = 5 per_page = 10 m = Mongo::Connection.new('localhost', 27017) db = m.db('skype') db['chat'].find({:from => /ozawa/…

mongoid対応しているsinatra-authentication

git clone http://github.com/timmyc/sinatra-authentication cd sinatra-authentication rake build gem install pkg/sinatra-authentication-0.3.2.gemmongoid 2 betaだと動かないっぽい・・

mongoid/mongo/bson/bson_ext最新版をインストールしてると、違うバージョンのbsonをloadしようとしてエラーが出て困る

全て最新のもの、つまりmongoid(2.0.0.beta.16)とmongo(1.0.8)とbson(1.0.6)とbson_ext(1.0.6)を使っていて、 require 'rubygems' gem 'mongoid','2.0.0.beta.16' require 'mongoid' するとエラーが出る /Users/sho/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/si…

正規表現でfind

自分で単語を切ってindexを作れというdocumentもあるが http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo (これ同じように日本語のindexで作って、Ruby driverとjsのコンソール両方で試したけど日本語でちゃんと探せたのでmecabとか使って同…

Mongoid2.0で_idでfind

require 'rubygems' gem 'mongoid','2.0.0.beta.16' require 'mongoid' user = User.first(:conditions => {:_id => BSON::ObjectID("4c71228232e569270a000002")}) puts user.to_json 1.9までは_idがstringだったけど2.0のbetaではBSON Objectで入っている…

mongodb インストール

rackspaceは全部64bitなので、64bit版を入れる wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.0.tgz tar -zxvf mongodb-linux-x86_64-1.6.0.tgz cd mongodb-linux-x86_64-1.6.0/bin sudo cp * /usr/local/bin/

mongoid2にする

公式ドキュメントが2 validateが2じゃないと使えない(rails3のactivemodelを使ってる) collection間のreferences_manyとかが2じゃないと使えない なので2をインストールしてみる sudo gem install mongoid --preSuccessfully installed activesupport-3.0.…

Rubyからmongo使う

準備 sudo gem install mongo bson bson_ext#!/usr/bin/env ruby require 'rubygems' require 'mongo' m = Mongo::Connection.new('localhost', 27017) puts '---db names---' m.database_names.each{|name| puts name } db = m.db('testdb') db['users'].in…

mongodbインストール

参考 http://www.mongodb.org/display/DOCS/Quickstart+OS+X http://www.mongodb.org/display/DOCS/Ruby+Tutorial wget http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-1.4.4.tgz tar -zxvf mongodb-osx-x86_64-1.4.4.tgz cd mongodb-osx-x86_64-1.4.4 s…