首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Mongoid执行runCommand?

如何使用Mongoid执行runCommand?
EN

Stack Overflow用户
提问于 2013-04-08 18:10:01
回答 2查看 977关注 0票数 3

我在MongoDB中有文本索引,并希望使用text命令在我的集合中进行搜索。在Mongoid中找不到此功能。

EN

回答 2

Stack Overflow用户

发布于 2013-04-17 20:14:09

我也是一个mongoid用户,所以我一直在努力寻找解决方案。除了where查询之外,我还没有在mongoid中找到任何与搜索文本相关的东西。经过很少的调查,我发现了mongoid_search gem,这对搜索文本可能很有用。

它有一个限制,在自述文件的第一行中写道:“如果你的可搜索模型很大(例如1.000.000+记录),solr或sphinx可能更适合你。”如果有的话,您需要配置solr或elasticsearch以获得更好的性能。如果你打算在heroku上部署,那么也请考虑到这一点。

也许这会帮助你实现你的目标。

票数 2
EN

Stack Overflow用户

发布于 2013-10-23 15:05:39

最近遇到了类似的情况。您可以通过以下方式在Mongoid中运行搜索命令:

代码语言:javascript
复制
session = Mongoid.session('default')
session.command({"text" => 'my_collection', 'search' => 'whatever'})

这是一个很好的混合:

代码语言:javascript
复制
# mixins/search.rb
module Mixins
  module Search

    extend ActiveSupport::Concern

    module ClassMethods

      def search(query)
        session = Mongoid.session('default')
        session.command({"text" => collection.name, 'search' => query})
      end

    end

  end
end

这样你就可以在你的模型中使用include Mixins::Search并使用Model.search 'whatever'来搜索东西。

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

https://stackoverflow.com/questions/15876472

复制
相关文章

相似问题

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