Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

mongoose Schema 为了关联定义时几乎全用的ObjectId, 现在要做模糊搜索了,直接懵了。。大神求解

$
0
0

定义Schema如下: sender : {type: mongoose.Schema.Types.ObjectId, ref: ‘user’}, //发送人id receivers : [{type: mongoose.Schema.Types.ObjectId, ref: ‘user’}], //收件人id copiers : [{type: mongoose.Schema.Types.ObjectId, ref: ‘user’}], //抄送人id 数组 title : {type: String, default: ‘’}, content : {type: String, default: ‘’}, //邮件内容 html字符串 files : [{type: mongoose.Schema.Types.ObjectId, ref: ‘files’, default: ‘’}], //附件url地址 数组 这是个邮件部分的Schema,现在要对其做模糊搜索,发现用了ObjectId 没法搜索,,, 想法大概是这样写搜索的,虽然肯定是错的: await EmailModel.find({ $or: [ {sender.nickname: new RegExp(searchValue)}, {receivers.nickname: new RegExp(searchValue)}, {copiers.nickname: new RegExp(searchValue)}, ] }).populate([ {path: ‘sender’, select: ‘nickname’}, {path: ‘receivers’, select: ‘nickname’}, {path: ‘copiers’, select: ‘nickname’}, {path: ‘files’} ])…execAsync(); 请问下大神们,这种情况该怎么处理?


Viewing all articles
Browse latest Browse all 14821

Trending Articles