【问题标题】:Ruby - $or is not working in mongo local server, but working in online serverRuby - $or 不在 mongo 本地服务器上工作,但在在线服务器上工作
【发布时间】:2011-06-16 13:41:07
【问题描述】:
DdFbcrawlLinks.where(:$or => [{:feedtype => "news"},{:feedtype => "wall"}]).all

DdFbcrawlLinks 是我的模型,它具有值。但不幸的是,上面一行返回的是空数组

但相同的代码在在线服务器上运行良好

请帮忙

【问题讨论】:

  • 它是 mongo 数据库中的关键字 ($or)
  • 我很惊讶,因为同样的鳕鱼工作正常,现在我不知道发生了什么......
  • 是的,有数据。我重新启动了服务器。但没有效果
  • 您在本地使用的是什么版本的 MongoDB,远程使用的是什么版本?运行mongod --version$or 在 1.5.3 中添加。 (mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24or)
  • 最新版本db版本v1.4.4,pdfile版本4.5

标签: ruby-on-rails ruby ruby-on-rails-3 mongodb mongomapper


【解决方案1】:

在您的特定查询中,使用 $in 会更好

DdFbcrawlLinks.where(:feedtype.in=>["news","wall"]).all

更多:http://mongoid.org/docs/querying/criteria.html

【讨论】:

  • 但是如果我们在不同的领域需要它呢?
  • 而在MM中,.in是数组查询条件的默认值,所以上面等价于DdFbcrawlLinks.where(:feedtype => ["news","wall"]).all
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-09
  • 2017-02-22
  • 2021-04-28
相关资源
最近更新 更多