db.RegExp如何用在多字段or操作里?
看文档里说明db.RegExp不支持用在db.command里,但目前我的需求是,在match阶段,针对3个字段or操作,正则匹配一个关键词,应该如何写?
报错如下:
errMsg: [FailedOperation] (Location15983) An object representing an expression must have exactly one field: { $regex: "关键词", $options: "i" }; ; at cloud.callFunction api |
我大致的需求是这样的:
const reg = new db.RegExp({ regexp: '关键词', options: 'i', })....match(_.expr( $.or([ $.eq(['$nickName', reg]), $.eq(['$deliverInfo.userName', reg]), $.eq(['$deliverInfo.telNumber', reg]) ]) )) |
我尝试不用$.or,先匹配一个字段也会报错
....match(_.expr( $.eq(['$nickName', reg]), )) |
