Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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 on rails Mongoid 5在日志中显示重复查询_Ruby On Rails_Mongodb_Mongoid - Fatal编程技术网

Ruby on rails Mongoid 5在日志中显示重复查询

Ruby on rails Mongoid 5在日志中显示重复查询,ruby-on-rails,mongodb,mongoid,Ruby On Rails,Mongodb,Mongoid,使用Rails 4和Mongoid 5.0.1 我们的日志输出显示几乎所有查询都是重复的。有一段时间我假设它只是两倍的输出,但仔细看执行时间是不同的,这表明它实际上发送了两个请求 d_562b2d81a54d7550ce000031.find | STARTED | {"find"=>"deals", "filter"=>{"contact_id"=>BSON::ObjectId('563bcb9da54d75116500010b')}} d_562b2d81a54d7550

使用Rails 4和Mongoid 5.0.1

我们的日志输出显示几乎所有查询都是重复的。有一段时间我假设它只是两倍的输出,但仔细看执行时间是不同的,这表明它实际上发送了两个请求

d_562b2d81a54d7550ce000031.find | STARTED |  {"find"=>"deals", "filter"=>{"contact_id"=>BSON::ObjectId('563bcb9da54d75116500010b')}}
d_562b2d81a54d7550ce000031.find | SUCCEEDED | 0.001186s

d_562b2d81a54d7550ce000031.find | STARTED | {"find"=>"deals", "filter"=>{"contact_id"=>BSON::ObjectId('563bcb9da54d75116500010b')}}
d_562b2d81a54d7550ce000031.find | SUCCEEDED | 0.0013s
这种行为似乎适用于大多数查询,但并非所有查询,有时特定查询只调用一次。当查询针对mongoid.yml中指定的数据库并且是web请求中的第一个数据库时,似乎会发生这种情况

这种行为发生在web请求中,但Rails控制台中的任何查询也会输出两行日志。它发生在“where”查询和“find”查询上

由于这是一款多租户应用程序,我们在大多数型号中都有以下功能:

store_in database: -> { Machine.current.database_name }
机器的集合(以及用户)存储在master_#{Rails.env}数据库中

但是,重复请求(在日志中)都是针对正确的数据库的,因此这可能是一种转移注意力的方法


当我们在Mongoid 3上时,这个问题从来都不明显,但是Mongoid 5的日志记录明显更好,所以这个问题可能也存在,但没有被注意到。

实际上我怀疑是一个名为
bullet
的宝石导致了重复的日志。关闭它可以解决我的问题。

您好,我也注意到了这一点,这方面的任何进展,我看到5个查询在执行UpdatePage时找到了相同的记录,没有-仍然看到2个查询