mongoose - 如何使用过滤器替换聚合中的 elemMatch
问题描述
我在猫鼬中有一个查找查询,但是出于需要我现在想使用聚合,搜索后我发现 elemMatch 不适用于聚合,我必须使用过滤器,有没有解决方案可以用过滤器替换我的查询
我在查询中使用正则表达式:
我的查询
mymodel.find({u_info: {$elemMatch: {ai_id: 1234, response:{ $regex: new RegExp("^myString" , "i") }}}}
模型
var InfosSchema = new mongoose.Schema({
u_info:[
{
ai_id:{type: Schema.Types.ObjectId, ref: 'wt_ai_infos'},
question:String,
response:String
}]},
return conn.model('wt_infos', InfosSchema);
};
我的收藏
[
{
"_id": ObjectId("5aca2ac25c1d8adeb4a2dab0"),
"u_info": [
{
"response": "false",
"question": "question 1",
"ai_id": 254
},
{
"response": "myString",
"question": "question 2",
"ai_id": 1234
}
]
}
]
解决方案
推荐阅读
- r - Count occurrences in any order
- elasticsearch - Elasticsearch pagination through large sets in parallel
- python - 用倒数第三个值替换 NaN 值
- swift - Swift ObservedObject 'self' used in property access 'userPreferences' before all stored properties are initialized
- laravel - Error 404 in a shared hosting in Laravel 8
- centos7 - logout stuck - exit only with Ctrl+C
- django - 在这种情况下,Django 的 `ModelDoesNotExist` 错误是否有解决方法?
- python - 如何根据图像中已知的对象坐标避免图像中的对象重叠
- react-three-fiber - 反应三纤维纬度/经度标记
- regex - 用于提取正则表达式组的电子表格公式