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

сортиране на mongo колекция въз основа на резултата от дъщерни документи

Можете да опитате агрегирането по-долу.

db.editors.aggregate([
  {"$lookup":{
    "from":"books",
    "localField":"_id",
    "foreignField":"parentId",
    "as":"books"
  }},
  {"$unwind":"$books"},
  {"$match":{"books.type":"sci-fi"}},
  {"$group":{
    "_id":"$_id",
    "name":{"$first":"$name"},
    "scores":{"$sum":"$books.score"}
  }},
  {"$sort":{"scores":-1}},
  {"$limit":10}
])
db.editors.aggregate([
  {"$lookup":{
    "from":"books",
    "localField":"_id",
    "foreignField":"parentId",
    "as":"books"
  }},
  {"$project":{
    "name":1,
    "scores":{"$sum":"$books.score"}
  }},
  {"$sort":{"scores":-1}}
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Извиквания на синхронна функция за nodejs mongodb драйвер

  2. Как да намеря масив в обект на mongoose doc?

  3. Как да използвам $and оператор в mongodb - java драйвер

  4. Django+MongoDB срещу Node.js+MongoDB

  5. MongoDb:намерете дълбоко вложен обект с $lookup