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

Показване на условния размер на масив с другите полета на mongodb документ

Открих как да го накарам да работи. Благодаря ти, @joe, че предложи да използваш филтър, това наистина беше решението.

Ето пълната заявка:

db.fridges.aggregate([
  {
    $match: {
      $and: [
        {
          "brand": {
            $in: [
              "Bosch",
              "Samsung"
            ]
          }
        },
        {
          "color": {
            $in: [
              "grey",
              "white"
            ]
          }
        }
      ]
    }
  },
  {
    $project: {
      "itemsNumber": {
        "$filter": {
          "input": "$items",
          "as": "item",
          "cond": {
            $in: [
              "$$item.name",
              [
                "beer",
                "lettuce"
              ]
            ]
          }
        }
      },
      brand: 1,
      cooler: 1,
      color: 1
    }
  }
])

Пример за изпълнение.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. как да конвертирате клеймо за време в дата в mongodb?

  2. Как да използвам mongoDB със Solr?

  3. Почистване на осиротели файлове от GridFS

  4. Многократно синхронно намиране на Mongoose за повторно използване на ID на обект

  5. Грешка при извличане на туитове с Tweepy