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

намерете първи от документи за всяка отделна стойност за едно поле

Трябва да изпълните обобщена операция, която групира всички документи по field3 и използвайте $first акумулатор с $$ROOT системна променлива за извеждане на първия документ, нещо като следното:

db.myCollection.aggregate([
    {
        "$group": {
            "_id": "$field3",
            "doc": { "$first": "$$ROOT" }
        }
    }
])

или за точен резултат:

db.myCollection.aggregate([
    {
        "$group": {
            "_id": "$field3",
            "field1": { "$first": "$field1" },
            "field2": { "$first": "$field2" }
        }
    },
    {
        "$project": {
            "_id": 0,
            "field3": "$_id",
            "field2": 1,
            "field1": 1
        }
    }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Инсталиране на MongoDB с Homebrew

  2. как безопасно да актуализирате пореден номер в mongodb

  3. MongoDB индексиране за приложение на Parse Server

  4. Как мога да сортирам по $elemMatch в MongoDB?

  5. mongodb неуспешен:грешка при свързване към db сървър:няма достъпни сървъри