分享

mongodb 模糊查询如何实现

lchr2121 发表于 2013-10-17 21:37:44 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 6 21131
求在mongodb中实现类似 MS SQL中的模糊查询:
select * form tbName where fieldName like '%张三%'

mongodb应该怎么写?
              
               
               

已有(6)人评论

跳转到指定楼层
fengyarongaa 发表于 2013-10-17 21:38:21

            
MongoDB 模糊查询的三种实现方式
        
回复

使用道具 举报

lchr2121 发表于 2013-10-17 21:39:04

            我要的是C#驱动的实现,谢谢.
        
回复

使用道具 举报

cyz51781 发表于 2013-10-17 21:39:46

            Pattern pattern = Pattern.compile(".*" + Programming  + ".*",
Pattern.CASE_INSENSITIVE);
query.filter("Book Description", pattern).asList();
        
回复

使用道具 举报

cyz51781 发表于 2013-10-17 21:40:30

            上面是使用morphia操作Mongodb的用法
下面是通过mongodb自己的语法查询:
{ "Book Description" : { "$regex" : ".*Programming.*" , "$options" : "i"}}
        
回复

使用道具 举报

qq1425258275 发表于 2013-10-17 21:41:19

            MongoDB的模糊查询其实很简单:
      11.LIKE模糊查询userName包含A字母的数据(%A%)
       SQL:SELECT * FROM UserInfo WHERE userName LIKE "%A%"
       MongoDB:db.UserInfo.find({userName :/A/})
      12.LIKE模糊查询userName以字母A开头的数据(A%)。
       SQL:SELECT * FROM UserInfo WHERE userName LIKE "A%"
       MongoDB:db.UserInfo.find({userName :/^A/})
就这样其实已经可以了我们需要的模糊查询功能,这个例子我是从http://www.dobug.net/showtopic-743.html这个帖子里看到的,里面整理了大量的SQL语句和MongoDB的语句的对比
        
回复

使用道具 举报

ITbasketplayer 发表于 2013-10-17 21:41:50

            不要用,性能很差的,建议整合一个全文检索的功能进去(lucene,solr,elasticsearch都行)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条