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

MongoDB - Как да намерите отделни стойности въз основа на частичен низ

За Mongo 3.x можете да използвате $split и $arrayElemAt :

db.test.aggregate([
  { $project : { 
      domain: {$arrayElemAt: [ { $split: ["$url", "/"] }, 2 ] }
  }},
  { $group : { 
      _id: "$domain" , count : { "$sum" : 1 } 
  }},
  { $sort:{
      _id:1
  }}
]);

И резултатът ще бъде:

/* 1 */
{
    "_id" : "mydomain.prep.com",
    "count" : 2.0
}

/* 2 */
{
    "_id" : "newdomain.com",
    "count" : 2.0
}

/* 3 */
{
    "_id" : "olddomain.reference.org",
    "count" : 2.0
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да накарам junit тестовете да използват вградения mongoDB в приложение за springboot?

  2. как да получите обяснение на Python Mongo Aggregate с помощта на db.command?

  3. MongoDB php драйвер, причиняващ отказ на apache на XAMPP OS X

  4. Грешка при изчакване при свързване към CosmosDB с MongoDB API

  5. Добавяне на данни към съществуващ gridfs файл