如何使用过滤器替换聚合中的elemMatch

时间:2018-07-16 13:42:09

标签: mongoose filter aggregate

我在猫鼬中有一个查找查询,但是需要,我现在想使用聚合, 搜索后,我发现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
      }
    ]
  }
]

0 个答案:

没有答案