MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment puis-je utiliser un champ de l'agrégat dans une regex $match dans mongodb ?

Vous pouvez utiliser ci-dessous aggregation en utilisant $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"
  }}
])