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]), )) |