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

Използване на $unwind и $text в рамка за агрегиране mongodb

Отговорът по-долу ще върне желаните резултати. първото $match се използва само за филтриране на документи без cat в него изобщо, с помощта на text индекс. Ако не използвате този етап, резултатите ще бъдат същите и правилни, но може да са по-бавни.

db.pages.aggregate([
     {
         $match: {
             $text: {
                 $search: "cat"
             }
         } 
     },
     {
         $unwind: '$articles'
     },
     {
         $match: {
             'articles.articleContent': /cat/
         }
     },
     {
         $group: {
             _id: {
                 _id: '$_id',
                 pageNo: '$pageNo'
             },
             articles: {
                 $push: '$articles'
             }
         }
     },
     {
         $project: {
             _id: '$_id._id',
             pageNo: '$_id.pageNo',
             articles: 1
         }
     }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изберете данни, където диапазонът между две различни полета съдържа дадено число

  2. Как да избягам от @ в парола в pymongo връзка?

  3. XFS срещу EXT4 – Сравняване на производителността на MongoDB на AWS EC2

  4. Express/Node.js грешка:Референтна грешка:Res не е дефиниран

  5. синтаксис за свързване на документи в mongodb