草庐IT

MongoDB 集合与新数据库

全部标签

ruby-on-rails - 如何编写 Rake 任务将数据导入 Rails 应用程序?

目标:使用CRON任务(或其他预定事件)更新数据库,每晚从现有系统导出数据。所有数据都是在现有系统中创建/更新/删除的。该网站不直接与该系统集成,因此Rails应用程序只需要反射(reflect)数据导出中出现的更新。我有一个包含约5,000种产品的.txt文件,如下所示:"1234":"productname":"attr1":"attr2":"ABCManufacturing":"2222""A134":"anotherproduct":"attr1":"attr2":"FoobarWorld":"2447"...所有值都是用双引号(")括起来的字符串,用冒号(:)分隔字段是:id

ruby-on-rails - 在一个 Rails 应用程序中使用 PostgreSQL 的 MongoDB

我可以在一个Rails应用程序中同时使用MongoDB和PostgreSQL吗?具体来说,我最终会想要使用像MongoHQ这样的东西。到目前为止,我未能在实验中进行这项工作。令我担心的是,MongoDB文档特别指出我必须禁用ActiveRecord。任何建议将不胜感激。 最佳答案 您无需禁用ActiveRecord即可使用MongoDB。查看Mongoid只需将gem加上任何模型与您现有的任何ActiveRecord模型一起添加。您应该注意到MongoHQ只是MongoDB的托管服务,可以与任何对象文档映射器(ODM)一起使用。更多

ruby - 使用 sinatra 在 block 之间传递数据

我正在尝试使用sinatra在block之间传递数据。例如:@data=Hash.newpost"/"do@data[:test]=params.fetch("test").to_sredirect"/tmp"endget"/tmp"doputs@data[:test]end但是,每当我到达tmpblock时,@data为nil并抛出错误。这是为什么? 最佳答案 原因是因为浏览器实际上执行了两个单独的HTTP请求。Request:POST/Response:301->Location:/tmpRequest:GET/tmpRespo

ruby - 使用 mongodb/mongoid 运行时更改模型

我必须在mongoid模型中添加几个字段,我知道MongoDB没有迁移,但如果我继续而不删除数据库,使rails完全“重新生成”数据库,它不会显示或使用新的领域!去这里最好的方法是什么?有比删除/重新打开mongodb更软的东西吗?提前致谢卢卡 最佳答案 一般来说,应该可以在运行时用新字段更新旧文档。MongoDB中不需要迁移。您可能想编写rake任务以使用新字段和默认值更新旧文档。您可以通过检查那些默认值为nil的新字段来找到这些文档。更新简单风格:如果您使用默认值定义一个新字段,只要您设置了一个新值,就应该始终使用该值:应用程序

ruby-on-rails - 如何使用 Ruby on Rails 将数据从 Controller 传递到模型?

如何将数据从Controller传递到模型?在我的application_controller中,我获取用户的位置(州和城市)并包含一个before_filter以使其在我的所有Controller中都可以通过访问before_filter:communitydefcommunity@city=request.location.city@state=request.location.state@community=@city+@stateend然后我尝试通过以下方式将Controller中检索到的数据添加到模型中:before_save:add_communitydefadd_comm

ruby-on-rails - 在 mongoid.yml 中指定认证数据库

我正在尝试通过mongoid.yml进行身份验证,但我想要进行身份验证的用户在admin数据库中。如果我尝试在数据库字段中指定管理数据库,它也会将所有集合放在那里,我不希望这样。有没有办法将我的数据库字段设置为我想要的数据库,但指定一个单独的身份验证数据库?这是我的mongoid.yml文件development:sessions:default:database:XC_DEVhosts:-IP:PORTusername:userpassword:password 最佳答案 这个问题已经存在一年多了,但值得回答。是的,auth_so

ruby-on-rails - 为没有 `attr_accessor` 的 Rails 模型设置非数据库属性

在PHP中,我可以为模型设置一个属性(不是数据库中的列)。例如(PHP代码),$user=newUser;$user->flag=true;但在Rails中,当我设置数据库中不存在的任何属性时,它会抛出错误undefinedmethodflag。有attr_accessor方法,但是如果我需要大约十个临时属性会怎样? 最佳答案 butwhatwillhappenifIneedabouttentempattributes?#app/models/user.rbclassUserattr_accessor创建"virtual"attri

ruby - 在ruby中将二进制数据转换为字符串

我有一个包含字节数据的字符串。如何执行到ascii字符串的就地转换? 最佳答案 另一种处理二进制数据的方法是String#unpack. 关于ruby-在ruby中将二进制数据转换为字符串,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/515478/

ruby-on-rails - 我如何从 Ruby 代码连接到 mongodb?

我如何从Ruby代码连接到mongodb? 最佳答案 首先,您必须安装MongoDbgem:geminstallmongo然后运行代码:require'rubygems'#notnecessaryforRuby1.9require'mongo'db=Mongo::Connection.new.db("mydb")#ORdb=Mongo::Connection.new("localhost").db("mydb")#ORdb=Mongo::Connection.new("localhost",27017).db("mydb")

ruby - MongoDB:无法从 BSON 类型 EOO 转换为 Date

我正在尝试使用聚合框架(使用ruby​​)并像这样投影日期:db['requests'].aggregate([{"$project"=>{_id:0,method:'$method',user:'$user',year:{'$year'=>'$timestamp'}}}])文档是这样的:{_id:ObjectId("5177d7d7df26358289da7dfd"),timestamp:ISODate("2013-04-12T03:58:05+00:00"),method:"POST",status:"200",inputsize:"874",outputsize:"4981",u