sen*_*hil 5 ruby ruby-on-rails mongodb eventmachine
希望将em-mongo用于从db加载文本的文本分析器脚本,分析它,标记关键字并更新db.
很想看到em-mongo的一些实例.只有一个我能找到的是github em-mongo repo.
require 'em-mongo'
EM.run do
db = EM::Mongo::Connection.new.db('db')
collection = db.collection('test')
EM.next_tick do
doc = {"hello" => "world"}
id = collection.insert(doc)
collection.find('_id' => id]) do |res|
puts res.inspect
EM.stop
end
collection.remove(doc)
end
end
Run Code Online (Sandbox Code Playgroud)
小智 2
您不需要 next_tick 方法,这是 em-mongo 为您做的。定义回调,当数据库操作完成时执行。这是一个骨架:
class NonBlockingFetcher
include MongoConfig
def initialize
configure
@connection = EM::Mongo::Connection.new(@server, @port)
@collection = init_collection(@connection)
end
def fetch(value)
mongo_cursor = @collection.find({KEY => value.to_s})
response = mongo_cursor.defer_as_a
response.callback do |documents|
# foo
# get one document
doc = documents.first
end
response.errback do |err|
# foo
end
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
666 次 |
| 最近记录: |