【问题详细描述】
数据示例:
{ params: {key1: "value1", key2: { key3: "value3" }}}
如何模糊匹配params中包含特定字符(如“aaa”)?
注:匹配内容包括所有的key和value,params中的数据层级不固定。
【解决方法】
1、以上需求可以理解为,将params下的对象视为字符串模糊匹配。建议更改存储方式,将params下的json转为字符串,然后用正则表达式匹配;
2、数据示例:
params:"{key1: value1, key2: { key3: value3 }}"
查询示例:
db.foo.bar.find({ params: { $regex: '.*aaa.*', $options: 'i' }})
【参考资料】
正则表达式使用参考:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190920-edition_id-0