- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
快速版本(对于那些熟悉 Mongoid 和 Sinatra 的人):如果它不是 Psyche/Syck YAML 解析问题,为什么在尝试使用 Mongoid 连接到 MongoDB 数据库时可能会出现此错误? (或者也许它是那个问题,在这种情况下,我该如何修复我的 mongoid.yml 文件,发布在下面?)
更详细的(原始)版本:
我有一个 Sinatra 应用程序通过 Mongoid 与 MongoDB 数据库交互:
configure do
Mongoid.load!('config/mongoid.yml')
end
我的 mongoid.yml 文件如下所示:
development:
host: localhost
database: project_development
test:
host: localhost
database: project_test
production:
uri: <%= ENV['MONGOLAB_URI'] %>
每当我尝试以某种方式与数据库交互时,都会收到错误db_name must be a string or symbol。
现在,我在 Google 上找到了大量关于此的信息;但我能找到的一切似乎都表明问题与现在使用 Psyche YAML 解析器而不是旧的 Syck 解析器的 Ruby 有关。我认为这实际上与我的情况无关,因为据我所知,上述 YAML 应该可以完美解析。
(尽管如此,我已经尝试使用 YAML::ENGINE.yamler= 'syck'
技巧,但无济于事。我得到了确切的同样的错误信息。)
当我将配置更改为:
Mongoid.configure do |config|
name = "project_development"
host = "localhost"
config.master = Mongo::Connection.new.db(name)
end
...然后一切正常。所以我知道 MongoDB 正在我的机器上运行。尤其是当我使用 YAML 文件时,事情会出错。
那是什么?
最佳答案
确保 ENV['RACK_ENV']
设置正确,因为如果 Mongoid.load!
没有找到 Rails,就会使用它。环境
.
关于mongodb - 为什么我收到错误 "db_name must be a string or symbol"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7052338/
每次启动 mysql 时,我输入的第一个查询是“use my_db_name”,其中 my_db_name 是我经常使用的数据库的名称。我希望 mysql 默认使用 my_db_name。我们有办法做
我正在尝试制作联系表单并连接到数据库,但出现错误一直告诉我无法访问数据库中的表我已经挣扎了差不多7个小时了,我真的很累了有什么帮助吗? error image table image 最佳答案 试试
我有一个既能显示表单又能验证它的文件。当显示表单时一切正常,但是当我按下提交按钮以验证表单时,这里我得到了错误,尽管表单已经过验证,错误是: notice: Constant DB_NAME alre
快速版本(对于那些熟悉 Mongoid 和 Sinatra 的人):如果它不是 Psyche/Syck YAML 解析问题,为什么在尝试使用 Mongoid 连接到 MongoDB 数据库时可能会出现
我想知道使用 with rollback immediate 会产生什么影响 基本上,在生产的情况下 ALTER DATABASE db_name SET ENABLE_BROKER由于连接问题挂起且
我不知道我是否做错了什么。 但这是我的配置。 // payload.json { "plugin_name": "postgresql-database-plugin", "allowed_r
我编写了以下存储过程: CREATE PROCEDURE dbo.usp_DEMO @LOGINSQL VARCHAR(30), @DBNAME VARCHAR(40) WITH EX
我有一个在 Postgres 9.3.5 数据库上运行的 Rails 应用程序。这已经在我的开发环境中运行了一段时间。今天我应用了 rails 迁移,然后当我尝试运行 rake db:reset 时,
在我第一次尝试使用 django-reversion 期间,我正在评估它以查看我是否可以在我的模型上执行某些基本的版本检索操作: 在还原范围内保存对特定字段的更改后,我无法检索特定模型的先前版本列表,
在 mariadb 10.2.12 上转储表和存储过程时,出现错误 mysqldump: Couldn't execute 'SHOW PACKAGE STATUS WHERE Db = 'db_na
我正在使用 Capistrano 进行 Rails 应用程序部署。但我正面临 PG::ConnectionBad: FATAL: database "db_name"does not exist 错误
我遇到了错误 django.db.utils.ProgrammingError: (1146, "Table 'db_name.django_content_type' doesn't exist")
对不起我的英语。 我开发了一个需要自己的本地数据存储的移动应用程序。我选择 Realm 作为数据库管理系统。在研究 Realm 文档的过程中,我对数据库设计、规范化、CRUD 操作以及与代码直接相关的
我真的不关心我用这个测试数据库做什么......它用于沙盒测试(附加到生产服务器实例)!我想要做的就是终止所有连接,删除并创建 test_db,如果要求不高的话......并用一些测试数据恢复。 我试
这个问题可能是一个基本问题,如果是,请原谅。我正在尝试将我的 Android 应用程序连接到 MSSQL Server。我在下面链接的问题中使用了相同的代码。根据此链接中选择的答案,我使用了 sqlj
我创建了一个访问 AWS mongodb(版本:3.6)的 Nodejs API 服务器。当我调用一个 api(比如 api/lowest)时,它会给我完美的结果,没有任何错误。但是,当我几乎同时多次
我将我的 PostgresQL 数据库从一个硬盘移动到另一个使用 pg_dump -U postgres db_name > db_name.dump 然后 psql -U postgres db_n
我已经使用 activerecord 从数据库访问数据。它在本地主机上运行良好,但是当我在另一台服务器上尝试时,出现以下错误: ActiveRecord::StatementInvalid (Mysq
我使用 mysqldump 命令从 sql 表中转储一些信息。为此,我阅读了有关 mysqldump 的信息。然后为了测试,我做了一个直接命令,它将在终端 shell 中运行。该命令成功生成了我需要的
我尝试过从命令行执行此操作 mysql -u root -p db_name > ~/Documents/db_name.sql 我尝试从 mysqlimport 进行操作 mysqlimport -
我是一名优秀的程序员,十分优秀!