首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RABL和Mongoid/Moped的多个数据库查询

使用RABL和Mongoid/Moped的多个数据库查询
EN

Stack Overflow用户
提问于 2013-02-15 09:00:08
回答 1查看 322关注 0票数 0

我有一个简单的应用程序,它使用rabl和mongoid 3.1.0,并执行以下操作:

代码语言:javascript
复制
# index
@products = current_shop.products

rabl代码如下所示:

代码语言:javascript
复制
# index.json.rabl
collection @products
extends 'api/products/show'

# show.json.rabl
object @product
attributes :id

当我点击它时,日志显示了4个与@products相关的请求:

代码语言:javascript
复制
MOPED: 127.0.0.1:27017 QUERY        database=bamboo_development collection=products selector={"$query"=>{"shop_id"=>"511c7866fd896b1908000002"}, "$orderby"=>{:_id=>1}} flags=[:slave_ok] limit=-1 skip=0 batch_size=nil fields=nil (0.5682ms)
MOPED: 127.0.0.1:27017 QUERY        database=bamboo_development collection=products selector={"$query"=>{"shop_id"=>"511c7866fd896b1908000002"}, "$orderby"=>{:_id=>1}} flags=[:slave_ok] limit=-1 skip=0 batch_size=nil fields=nil (1.1139ms)
MOPED: 127.0.0.1:27017 QUERY        database=bamboo_development collection=products selector={"$query"=>{"shop_id"=>"511c7866fd896b1908000002"}, "$orderby"=>{:_id=>1}} flags=[:slave_ok] limit=0 skip=0 batch_size=nil fields=nil (0.4492ms)
MOPED: 127.0.0.1:27017 QUERY        database=bamboo_development collection=products selector={"$query"=>{"shop_id"=>"511c7866fd896b1908000002"}, "$orderby"=>{:_id=>1}} flags=[:slave_ok] limit=0 skip=0 batch_size=nil fields=nil (0.4332ms)

当我这样做的时候:

代码语言:javascript
复制
@products = current_shop.products.search(params[:query])
render text: @products.map(&:name).join(",")

我只收到一个与@products相关的请求:

代码语言:javascript
复制
MOPED: 127.0.0.1:27017 QUERY        database=bamboo_development collection=products selector={"shop_id"=>"511c7866fd896b1908000002"} flags=[:slave_ok] limit=0 skip=0 batch_size=nil fields=nil (0.4611ms)

重复的查询看起来很奇怪,有人知道为什么会这样吗?它不调用子对象,只是在我看来有点不同的集合查询。

EN

回答 1

Stack Overflow用户

发布于 2013-03-04 18:12:34

很多人都有同样的问题。最有可能的原因是rabl配置问题。按照Aymeric上面的建议,只需这样做:@products = current_shop.products.to_a

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14886817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档