sql >> Databáze >  >> NoSQL >> MongoDB

Filtrovat pole v mongodb

  • $map iterovat smyčku all_users pole
  • $cond zkontrolujte podmínku, pokud id je ve vybraných uživatelích id pak vraťte "yes" jinak "no" v selected pole
  • $mergeObject pro sloučení aktuálního uživatelského objektu s výše uvedeným selected pole
db.collection.aggregate([
  {
    $project: {
      all_users: {
        $map: {
          input: "$all_users",
          in: {
            $mergeObjects: [
              "$$this",
              {
                selected: {
                  $cond: [
                    { $in: ["$$this.id", "$selected_users.id"] },
                    "yes",
                    "no"
                  ]
                }
              }
            ]
          }
        }
      }
    }
  }
])

Hřiště



  1. Jak vložit do kolekce MongoDB s pozicí

  2. Je možné přejmenovat pole _id po agregaci skupiny mongo?

  3. MongoDB:Je možné zachytit události TTL pomocí Change Stream pro emulaci plánovače (cronjob)?

  4. Použití řazení v mongodb $regex