我希望能够使用来自http://github.com/mattbauer/bdb/tree/master的Ruby绑定来获取存储在Berkeley DB中的所有键值,但我不知道如何继续。任何指针将不胜感激。如何从Ruby中的伯克利数据库检索所有记录
UPDATE
这里有一个小脚本,遍历键和打印它们。基于Pax的回答:
require 'rubygems'
require 'bdb'
env = Bdb::Env.new(0)
env.open('foo', Bdb::DB_CREATE,0)
db = env.db
db.open(nil, 'db1.db', nil, Bdb::Db::BTREE, Bdb::DB_CREATE,0)
db.put(nil, 'key', 'value', 0)
db.put(nil, 'key1', 'value1', 0)
db.put(nil, 'key2', 'value2', 0)
dbc = db.cursor(nil,0)
key,val = dbc.get(nil,nil,Bdb::DB_FIRST)
while key
p key,val
key,val = dbc.get(nil,nil,Bdb::DB_NEXT)
end
dbc.close
db.close(0)
env.close