MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann ich ein Feld aus Aggregat in einem Regex $match in Mongodb verwenden?

Sie können unten aggregation verwenden mit $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"
  }}
])