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

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

Заявките в MongoDB не връщат поддокументи (или, както във вашия случай, поддокументи на поддокументи). Те съпоставят и връщат документите в колекцията. Формата на документите може да се променя малко чрез проекция, но това е ограничено. Ако искате често да намирате най-новия етикет, вероятно искате документите ви да представляват етикети. Наличието на масив в масив обикновено е лоша идея и в MongoDB.

Ако това е необичайна операция и такава, която не трябва да бъде особено бърза, можете да използвате агрегиране:

db.modules.aggregate([
    { "$unwind" : "$svn_branches" },
    { "$unwind" : "$svn_branches.tags" },
    { "$sort" : { "svn_branches.tags.updated_at" : -1 } },
    { "$group" : { "_id" : "$_id", "latest_tag" : { "$first" : "$svn_branches.tags" } } }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $stdDevSamp

  2. Кеширане на обект на колекция Mongodb в Node.js

  3. Как да конвертирате BSON::Timestamp в рубинено време и обратно

  4. Как да постигнем връщане назад в транзакции в mongo?

  5. Pymongo - ValueError:NaTType не поддържа utcoffset при използване на insert_many