Mongodb 是否可以使用mongo字段值作为$regex[mongo db]中的模式?

Mongodb 是否可以使用mongo字段值作为$regex[mongo db]中的模式?,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,假设我有数据 db = [ { "make": "audi", "year": "2018", "url": "xyz.com/makes-2019-"}, { "make": "audi", "year": "2013", "url": "abc.com/car/audi-2013"} ] 假设我需要查询url中是否存在make或year的数据。 像这样的事 db.cars.aggregate([ { "$match": { "$or": [

假设我有数据


 db = [ 
   { "make": "audi", "year": "2018", "url": "xyz.com/makes-2019-"},
   { "make": "audi", "year": "2013", "url": "abc.com/car/audi-2013"}
]
假设我需要查询url中是否存在make或year的数据。 像这样的事

db.cars.aggregate([
   {
     "$match": {
       "$or": [
         { "url": {"$regex": $model, "$options": "i"}}, 
         { "url": {"$regex": $year, "$options": "i"}}
       ]
     } 
    }]) 

除了map reduce之外,这似乎无法解决任何问题。

您可以使用它来检查
url
字符串是否包含
make
子字符串

db.collection.aggregate([
  { "$match": {
    "$expr": {
      "$ne": [
        { "$indexOfCP": ["$url", "$make"] },
        -1
      ]
    }
  }}
])