MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Филтриране на масиви в mongodb

  • $map за итериране на цикъл от all_users масив
  • $cond проверка на условието, ако id е в id на избраните потребители след това върнете „да“, в противен случай „не“ в selected поле
  • $mergeObject за обединяване на текущия потребителски обект с selected по-горе поле
db.collection.aggregate([
  {
    $project: {
      all_users: {
        $map: {
          input: "$all_users",
          in: {
            $mergeObjects: [
              "$$this",
              {
                selected: {
                  $cond: [
                    { $in: ["$$this.id", "$selected_users.id"] },
                    "yes",
                    "no"
                  ]
                }
              }
            ]
          }
        }
      }
    }
  }
])

Playground



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB заместващ знак в ключа на заявка

  2. Моят метод $push в Mongoose не работи добре

  3. MongoDB db.copyDatabase се проваля при неоторизирано

  4. MongoDB $setDifference

  5. Mongodb - агрегиране $push, ако е условно