MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso utilizzare un campo da aggregate in una regex $match in mongodb?

Puoi utilizzare la seguente aggregation utilizzando $indexOfCP

db.users.aggregate([
  { "$lookup": {
    "from": "posts",
    "let": { "authorId": "$_id", "name": "$name" },
    "pipeline": [
      { "$match": {
        "$expr": {
          "$and": [
            { "$ne": [{ "$indexOfCP": ["$text", "$$name"] }, -1] },
            { "$eq": ["$author", "$$authorId"] }
          ]
        }
      }}
    ],
    "as": "post"
  }}
])