Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19231
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-05 15:47
文章分类
文章存档

2014年(5)

我的朋友

分类: 大数据

2014-07-07 09:58:47

无论我们学习什么语言,能打出一个Hello World成为了我们的第一步。而今天这个例子,相当于是 Replica Sets搭建的Hello World。代码如下:

下面是在Replica Sets上做操作后调用getlasterror使写操作同步到至少3台机器后才返回。

db.runCommand( { getlasterror : 1 , w : 3 } )

开始搭建,启动三个mongod server:

mongod --replSet prod --port 27017 --dbpath /data/node1
mongod --replSet prod --port 27027 --dbpath /data/node2
mongod --replSet prod --port 27037 --dbpath /data/node3

进行其中一个mongod,完成相关的配置

replica_config = {_id: 'prod', members: [
                          {_id: 0, host: 'localhost:27017'},
                          {_id: 1, host: 'localhost:27027'},
                          {_id: 2, host: 'localhost:27037'}]}
#Now initiate the replica_config
rs.initiate(replica_config);

ruby客户端代码:

#!/usr/bin/env ruby
require 'mongo'
begin
  @connection = Mongo::Connection.multi([
                                       ['localhost',27017],
                                       ['localhost',27027],
                                       ['localhost',27037]])
  @collection = @connection.db("sales").collection("products")
  product = { "name" => "Refactoring",
              "code" => "023XX3",
              "type" => "book",
              "in_stock" => 100}
  @collection.insert(product)
  100.times do
    sleep 0.5
    begin
  	  product = @collection.find_one "code" => "023XX3"
  	  puts "Found Book: "+product["name"]
  	rescue Exception => e
    	puts e.message
    	next
  	end
  end
end

原文链接:《》

MongoDB专题:

阅读(796) | 评论(0) | 转发(0) |
0

上一篇:MongoDB运行状态、性能监控,分析

下一篇:没有了

给主人留下些什么吧!~~