问题标签 [mongoid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails-3 - 使用 Rails 3 RC、Mongoid、Recaptcha 和 RSpec 触发受保护的“拒绝”方法
请多多包涵,因为我对 Rails(尤其是 Rails 3)有点陌生,对此我有点难过。基本上我想在我的应用程序中使用 RSpec 测试我的 CustomersController。当我执行我的规范试图在我的控制器中执行创建操作时,我收到了这个错误,我不知道为什么:
现在我真的很抱歉,但这里有很多代码要遵循。首先是我的宝石。
现在,我的CustomersController
定义如下:
这是我的客户模型:
最后,这是我的规格:
ruby-on-rails - 如何实现 mongodb '包含?取景器条件
我正在使用 Mongoid 并且有一个项目和一个用户模型。在项目模型中,我有一个字段
我可以找到属于一个项目的所有用户,即“找到这个项目的用户”
但是我很难找到属于一个用户的所有项目,即“找到这个用户的项目”
我知道你可以在 User 模型中有另一个字段来存储 project_ids,我很乐意这样做,但我只是好奇,有没有一种方法可以在查找条件中使用,其工作方式类似于 #includes?在红宝石中?
mongodb - mongodb mapreduce返回不一致的结果
我有一个超级简单的 map reduce 测试......它无法始终如一地工作。简而言之,我只是在寻找重复的记录。我有一个集合:
GiftIdea - site_id - site_key
site_id + site_key 应该是唯一的,但目前不是。所以我有以下地图减少代码:
使用此输入数据:
GiftIdea
-site_id:亚马逊-site_key:2 -site_id:亚马逊-site_key:2
-site_id:亚马逊-site_key:1
所以我应该得到:
亚马逊1 => 2 亚马逊2 => 1
这是我运行它时发生的情况
好的,好消息,我已经发出 3 行,并输出 2。但我得到:
亚马逊1 => 1.00000 亚马逊2 => 1.00000
在我的日志文件中,我有:
8 月 28 日星期六 13:22:50 [conn582] CMD:删除 personalizr_test.tmp.mr.mapreduce_1283016170_139 8 月 28 日星期六 13:22:50 [conn582] CMD:删除 personalizr_test.tmp.mr.mapreduce_1283016170_139_inc 1 2 1
键:amazon1 值:2 8 月 28 日星期六 13:22:50 [conn582] 在 {0:1} 上为 personalizr_test.tmp.mr.mapreduce_1283016170_139_inc 建立新索引 8 月 28 日星期六 13:22:50 [conn582] Buildindex personalizr_test.tmp。 mr.mapreduce_1283016170_139_inc idxNo:0 { ns: "personalizr_test.tmp.mr.mapreduce_1283016170_139_inc", key: { 0: 1 }, name: "0_1" } Sat Aug 28 13:22:50 [conn582] done for 2 records 0secs Sat 8 月 28 日 13:22:50 [conn582] 在 {_id:1} 上为personalizr_test.tmp.mr.mapreduce_1283016170_139 构建新索引 8 月 28 日星期六 13:22:50 [conn582] Buildindex personalizr_test.tmp.mr.mapreduce_1283016170_139 idxNo:0 {姓名:“身份证", ns: "personalizr_test.tmp.mr.mapreduce_1283016170_139", key: { _id: 1 } } Sat Aug 28 13:22:50 [conn582] done for 0 records 0secs Key: amazon1 Values: 1 Key: amazon2 Values: 1 8 月 28 日星期六 13:22:50 [conn582] CMD:删除personalizr_test.tmp.mr.mapreduce_1283016170_139_inc 8 月 28 日星期六 13:22:50 [conn582] CMD:删除personalizr_test。所有想法按键分组 8 月 28 日星期六 13:22:50 [conn582] 端连接 127.0.0.1:56135
1、2、1 表示地图功能正常工作。这是正确顺序的正确项目,但 reduce 函数看起来很奇怪。我两次为 amazon1 调用 reduce,第二次,值不正确。另一件事是,在第一次调用之后,mongo 正在创建一个索引。我猜它等待第一个数据,以确定数据格式将是什么,因此它可以适当地生成索引。但我不明白为什么我接到电话:键:amazon1 值:1 电话
有什么建议么?
其他一些有趣的花絮: mongo 1.6.1 mongoid 2.0.0.beta16 bson 1.0.4 bson_ext 1.0.4
真正特别的一件事是 tt 在一个包含真实数据的不同数据库上工作!
以下是填充数据库中的记录之一:
这是我的一个样本
建议?
ruby-on-rails-3 - Rails 3, MongoId & bson 版本问题
我刚刚更新到 Rails 3 final。现在我遇到了 MongoId、Mongo 的 Ruby 驱动程序和 bson 的问题。当我尝试运行 Rails 时,我得到“你已经激活了 bson 1.0.7,但是你的 Gemfile 需要 bson 1.0.4。考虑使用 bundle exec。(Gem::LoadError)”。
MongoId 需要 bson_ext 1.0.4,所以我的 Gemfile 中有 gem "bson_ext", "1.0.4"。我试图卸载 bson 1.0.7,但是 Rails 无法启动,因为 Mongo Ruby 驱动程序需要 bson >= 1.0.5。
那么有什么想法可以解决这个问题吗?
ruby-on-rails - 从参数数组中获取 Mongoid
为了使用 MongoID/Rails 3查找包含嵌入文档的根文档,我需要以这种方式进行查询:
有没有办法在不使用 BSON::ObjectID 的情况下进行查询?
谢谢!
ruby - Mongoid/activesupport版本问题
我正在尝试从普通的 Ruby 脚本(不是通过 Rails 或任何其他框架)中使用 Mongoid,我认为我遇到了一些版本依赖冲突:
我的本地 Rails 已经升级到 3.0.0,如果我正确阅读错误,某处要求 activesupport 必须 < 3.0.pre,并且 3.0.0 太新?
这是因为 Rails 3.0 是全新的,也许 Mongoid 在某处有一个配置选项,其中 3.0.pre 定义了我需要升级?我会在哪里做呢?
我以前也安装了旧的 Rails,但得到了一个不同的错误:
如果我回去安装旧的 activesupport,我如何确保新的也不会被击中?
我对 Ruby 还是很陌生,所以请详细说明你的答案。
根据 Simon 的建议升级到 Mongoid 2.0 beta 后,我遇到了一个关于 bson 太新的新冲突:
为什么已经加载了 bson 1.0.4?是否有其他东西试图显式加载它?在这一点上,我所有的简单 .rb 脚本需要的是 rubygems 和 mongoid。
这是我使用的所有与声音相关的宝石:
ruby-on-rails - Rails 3.0 ORM 无关的管理插件
嘿,Rail-ists,知道 ActiveScaffold 的任何等价物,但与 ORM 无关,或者至少对 Mongoid 而言?
mongodb - 使用 Mongoid(Ruby on Rails 的 MongoDB 映射器),如果 Cat 继承自 Animal,我们是否需要设置类型?
也就是说,如果app/models/animal.rb
有
然后在app/models/cat.rb
那么您是否需要在 Animal 中设置某种“类型”以记住它是猫,还是自动的?
ruby-on-rails - 使用 Mongoid(Ruby on Rails 的 MongoDB 映射器),为什么 s.save 返回 true 但记录未更新?
如果下面的代码运行两次,两次s.save
都会返回true,表示成功,但是第二次,时间不会更新?
ruby-on-rails - Carrierwave Mongoid 文件验证
我不知道如何验证carrierwave 已将文档上传到我的mongoid 对象。
我有一个文档类
和上传者:
我想通过标准验证错误来验证上传是否存在以及它是否与白名单匹配
这是在 Rails 2.3.8 上