Skip to content

Instantly share code, notes, and snippets.

@darui00kara
Created May 27, 2015 05:40
Show Gist options
  • Save darui00kara/1f6a17ec040c36b6a8af to your computer and use it in GitHub Desktop.
Save darui00kara/1f6a17ec040c36b6a8af to your computer and use it in GitHub Desktop.
# encoding: utf-8
# File Name: mongo_main03.rb
# Create Day is 2015/05/27
# Last Update Day is 2015/05/27
# Require List
require 'mongo'
puts "MongoDB test!!"
puts "DB接続"
db = Mongo::Client.new(["127.0.0.1:27017"], :database => 'sinatra_bbs')
collection = db[:comments]
# CRUD操作例
# 作成(C)
puts "ドキュメント挿入(一つ)"
puts collection.insert_one({:name => "darui", :title => "blogger", :comment => "darui"})
# 取得(R)
# :nameが"darui"を検索条件に指定
doc_array = Array.new
puts "ドキュメント取得"
collection.find(:name => "darui").each do |doc|
doc_array.push(doc)
puts doc
end
# BSONドキュメントの配列の内容を表示
doc_array.each do |doc|
puts "name = " + doc[:name]
puts "title = " + doc[:title]
puts "comment = " + doc[:comment]
end
# 更新(U)
# 更新修飾子($~)は以下を参考にすると良い。
# URL: http://api.mongodb.org/wiki/current/Updating.html
puts "ドキュメント更新(複数)"
collection.find(:name => "darui").update_many("$set" => {:comment => "darui@apprentice"})
collection.find(:name => "darui").each do |doc|
puts doc
end
# 削除(D)
puts "ドキュメント削除(複数)"
collection.find(:name => "darui").delete_many
collection.find(:name => "darui").each do |doc|
puts doc
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment