Mongodb指数&搜索逗号分隔值

时间:2016-09-19 16:42:46

标签: mongodb mongodb-query mongodb-indexes

我的结构如下

{
  "name": "",
  "age": 35,
  "hobbies": "gardening, skiing, horse riding, soccer",
  "Address": {
    "addrline 1": "",
    "addrline 2": "",
    "City": "",
    "Zip": ""
  }
}

想根据业余爱好进行搜索。例如输入“滑雪”应返回此文件。我有大约80k的记录。什么是“爱好”元素的最佳索引策略,以便它可以快速返回结果。

我是否只能通过基于字符串的正则表达式模式搜索“爱好”,还是有其他技术可以更快地检索数据?

1 个答案:

答案 0 :(得分:4)

更好的设计是将爱好存储为数组

 "hobbies": ["gardening", "skiing", "horse riding", "soccer"]

然后,您可以在查询中使用$来匹配任何一个或多个爱好。 在爱好键上创建一个索引,以便更快地进行查询。