Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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 在非Rails环境中通过Mongoid创建MongoDB索引_Ruby_Mongodb_Mongoid_Rake_Roda - Fatal编程技术网

Ruby 在非Rails环境中通过Mongoid创建MongoDB索引

Ruby 在非Rails环境中通过Mongoid创建MongoDB索引,ruby,mongodb,mongoid,rake,roda,Ruby,Mongodb,Mongoid,Rake,Roda,我正在尝试使用MongoDB作为数据库构建一个基于Roda(nonrails)的API。我安装了Mongoid gem并配置了连接。不幸的是,当我试图使用rake db:mongoid:create_index创建定义的索引时,由于缺少环境环境,任务失败。我应该在我的Rakefile中做什么/包括什么来提供所需的任务 回溯: rake中止! 不知道如何构建任务“环境”(请参阅带有“rake--tasks”的可用任务列表) /home/tomasz/.rvm/gems/ruby-2.7.1/bin

我正在尝试使用MongoDB作为数据库构建一个基于Roda(nonrails)的API。我安装了Mongoid gem并配置了连接。不幸的是,当我试图使用
rake db:mongoid:create_index
创建定义的索引时,由于缺少
环境
环境,任务失败。我应该在我的
Rakefile
中做什么/包括什么来提供所需的任务

回溯:

rake中止!
不知道如何构建任务“环境”(请参阅带有“rake--tasks”的可用任务列表)
/home/tomasz/.rvm/gems/ruby-2.7.1/bin/ruby\u可执行文件挂钩:24:in'eval'
/home/tomasz/.rvm/gems/ruby-2.7.1/bin/ruby\u可执行文件\u挂钩:24:in`'
任务:TOP=>db:mongoid:create_索引
(通过使用--trace运行任务查看完整跟踪)
my
Rakefile的相关部分

需要“mongoid”
path=Gem::Specification.find\u by\u name('mongoid'))
加载“#{path.gem_dir}/lib/mongoid/railties/database.rake”
rake-T
输出:

rakedb:create#u索引#创建Mongoid模型中指定的索引
rake db:drop#删除当前Rails.env数据库的所有集合
rake db:mongoid:create#U索引#创建mongoid模型中指定的索引
rake db:mongoid:drop#删除默认mongoid客户端的数据库
rake db:mongoid:purge#删除所有非系统集合
rake db:mongoid:remove#删除mongoid模型中指定的索引
rake db:mongoid:remove_undefined_indexes#remove数据库中存在但mongoid模型中未指定的索引
rake db:mongoid:shard#u集合#在mongoid模型中指定了分片键的分片集合
rake db:purge#除去系统集合之外的所有集合
rake db:删除索引#删除Mongoid模型中指定的索引
rake db:reset#删除数据并加载种子
rake db:seed#从db/seeds.rb加载种子数据
rakedb:setup#创建数据库,并使用种子数据初始化
rake db:shard#u collections#在Mongoid模型中指定了分片键的分片集合
您需要:

  • 定义一个名为
    环境
    的任务
  • 在此任务中,加载所有模型类
如何加载模型类取决于应用程序