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

В MongoDB как мога да сортирам документи въз основа на свойство във вграден обект?

Защото не се нуждаете от release елементи освен тези от региона "GB", можете да го направите с aggregate като това:

db.products.aggregate(
    // Filter the docs to just those containing the 'GB' region
    { $match: {'release.region': 'GB'}},
    // Duplicate the docs, one per release element
    { $unwind: '$release'},
    // Filter the resulting docs to just include the ones from the 'GB' region
    { $match: {'release.region': 'GB'}},
    // Sort by release date
    { $sort: {'release.date': 1}})

изход:

{
  "result": [
    {
      "_id": "baz",
      "release": {
        "region": "GB",
        "date": ISODate("20110501T00:00:00Z")
      }
    },
    {
      "_id": "foo",
      "release": {
        "region": "GB",
        "date": ISODate("20120301T00:00:00Z")
      }
    },
    {
      "_id": "bar",
      "release": {
        "region": "GB",
        "date": ISODate("20120501T00:00:00Z")
      }
    }
  ],
  "ok": 1
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да рестартирам условно веригата обещания от началото?

  2. Какви са ограниченията на частичните индекси?

  3. MongoDB - Извличане на точен елемент от масива, с изключение на други

  4. Golang + MongoDB вграден тип (вграждане на структура в друга структура)

  5. Извличане на множество заявени елементи в обектен масив в колекция MongoDB