Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby CouchDB的嵌入式模拟,与SQLServer的sqlite相同_Ruby_Database_Document Oriented Db - Fatal编程技术网

Ruby CouchDB的嵌入式模拟,与SQLServer的sqlite相同

Ruby CouchDB的嵌入式模拟,与SQLServer的sqlite相同,ruby,database,document-oriented-db,Ruby,Database,Document Oriented Db,我喜欢像CouchDB这样的面向文档的数据库。我正在寻找简单的模拟 我的要求是: 无模式数据的持久存储 一些简单的过程 良好的事务和版本控制 rubyapi map/reduce也很好 应该在共享主机上工作 我不需要的是REST/HTTP接口(我将在proc中使用它)。另外,我不需要所有可伸缩性的东西。听起来像是您需要的。除了map/reduce之外,它可以完成您列出的所有功能。一个非常简单的解决方案将来自Ruby的标准库。它应该满足您的几乎所有要求: PStore将Ruby对象层次结构存储在文

我喜欢像CouchDB这样的面向文档的数据库。我正在寻找简单的模拟

我的要求是:

  • 无模式数据的持久存储
  • 一些简单的过程
  • 良好的事务和版本控制
  • rubyapi
  • map/reduce也很好
  • 应该在共享主机上工作

  • 我不需要的是REST/HTTP接口(我将在proc中使用它)。另外,我不需要所有可伸缩性的东西。

    听起来像是您需要的。除了map/reduce之外,它可以完成您列出的所有功能。

    一个非常简单的解决方案将来自Ruby的标准库。它应该满足您的几乎所有要求:

  • PStore将Ruby对象层次结构存储在文件中,因此您可以轻松使用CouchDB中的类似散列的结构
  • 您可以使用简单的API访问PStore的内容
  • 它有事务,但据我所知没有版本
  • 您可以使用Ruby的映射和注入函数
  • 您只需要访问文件系统
  • 例如:

    将数据插入存储:

    require 'pstore'
    store = PStore.new("/tmp/store")
    store.transaction do
      store["products"] = [{:name => "Test", :price => 100}
                           {:name => "Bla", :price => 120}
                           {:name => "Oink", :price => 300}]
    end
    
    查询所有产品的价格之和:

    store.transaction do
      store['products'].map {|p| p[:price]}.inject {|sum, p| sum + p}
    end
    

    更多信息在此

    我仍在搜索。。。背景…嗯,是的,这就是我需要的。我一定会试试这个。非常感谢你!