2016-08-15 72 views
1

我希望能够使用JSON索引匹配子字符串,但似乎无法解决如何执行此操作。json索引中字段上的子字符串匹配

我有一个data.nameA SIGN DESIGN PTY. LTD.财产的数据记录。我的指标定义如下:

db.index({ 
    name: 'subbies_text', 
    type: 'json', 
    index: { 
    fields: ['data.name'] 
    }, 
}) 

有没有我可以使用,将执行字符串匹配,这样我可以搜索“标志”或“标志设计”,并选择有“招牌设计PTY。 LTD“。包含在搜索结果中?

回答

1

你可以用“$ regex”实现。假设你成功创建了一个名为“subbies_text”的json索引,接下来是查询的例子:

{"selector": { "_id": { "$gt": 0 }, "subbies_text":{"$regex":"SIGN" } }, "fields": [ "_id", "_rev", "name" ]} 
+0

谢谢。用这种方法是否可以操纵索引值? 我该如何使用大写字母来提供大小写不敏感? 如何从格式化数字中删除空格,以便它们与查询字符串中的任何格式匹配? 我觉得直接查询设计文档是一个更好的解决方案。 – simon