3

我升级到 mongoid 3.0.1 并创建了新格式的 mongoid.yml - 我的 mongoid.yml 看起来像这样:

production:
  sessions:
    default:
      database: grbr_production
      hosts:
        - localhost:27017
      options:
        consistency: :strong
  options:
    raise_not_found_error: false
test:
  sessions:
    default:
      database: grbr_test
      hosts:
        - localhost:27017
      options:
        consistency: :strong
        raise_not_found_error: false
development:
  sessions:
    default:
      database: grbr_development
      hosts:
        - localhost:27017
      options:
        consistency: :strong
        raise_not_found_error: false

在开发中,我看到选择了正确的数据库。但在生产中,我看到“管理员”数据库被选中,这破坏了我的应用程序。我已在生产机器中将 RAILS_ENV 设置为“生产”,但仍然看到此错误。我看到的另一个非常奇怪的事情是,在生产中,moped 甚至不查询数据库。以下来自开发和生产的日志显示:

Development log:
 MOPED: 127.0.0.1:27017 COMMAND      database=admin command={:ismaster=>1} (0.6645ms)**
 MOPED: 127.0.0.1:27017 QUERY        database=grbr_development collection=topsearches  selector={"$query"=>{"type"=>"books"}, "$orderby"=>{"cnt"=>-1}} flags=[] limit=10 skip=0 fields=nil (0.8984ms)

Production Log:
MOPED: 127.0.0.1:27017 COMMAND      database=admin command={:ismaster=>1} (0.6878ms)**

所以在生产中,我看不到生产数据库上的查询被触发。

4

1 回答 1

0

为什么您的产品指向本地主机?那好像不行了

你可以尝试这样的事情:

production:
  sessions:
    default:
      uri: "YOUR-DB-ADDRESS"
于 2014-01-21T03:27:51.233 回答