V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
stargazer
V2EX  ›  MongoDB

请教在 mongo 中如何对一个列表字段的内容进行模糊查询?

  •  
  •   stargazer · 2015-05-29 23:57:33 +08:00 · 4485 次点击
    这是一个创建于 3499 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT,请教各位大神,如何对一个list的字段内容进行模糊查询,thx

    6 条回复    2015-05-30 10:28:29 +08:00
    cevincheung
        1
    cevincheung  
       2015-05-30 00:57:15 +08:00
    只能用正则了
    kongkongyzt
        2
    kongkongyzt  
       2015-05-30 04:24:48 +08:00 via iPhone
    同问
    cevincheung
        3
    cevincheung  
       2015-05-30 04:34:05 +08:00   ❤️ 1
    @kongkongyzt
    @stargazer

    正则
    db.collection.find({field :/^A/})
    stargazer
        4
    stargazer  
    OP
       2015-05-30 08:48:17 +08:00
    @cevincheung
    list的也是么?
    karloku
        5
    karloku  
       2015-05-30 10:21:35 +08:00 via iPhone   ❤️ 1
    @stargazer Array也一样, mongo对Array字段搜索不加操作符的话就是匹配任一的元素

    但是正则查询只有固定字符串头的才能使用index, 这点和大部分sql的like是一样的. 需要完全模糊查询话还是下面几种方案
    1 用textIndex, 这个方便但是现在不支持中文
    2 把字段分词以后专门存一个新字段来索引
    3 用专门的搜索引擎
    stargazer
        6
    stargazer  
    OP
       2015-05-30 10:28:29 +08:00
    @karloku thx我明白了,多谢~
    @cevincheung 多谢指点~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5445 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:06 · PVG 16:06 · LAX 00:06 · JFK 03:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.