MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Sử dụng $ unwind và $ text trong mongodb khung tổng hợp

Câu trả lời dưới đây sẽ trả về kết quả mong muốn của bạn. $match đầu tiên chỉ được sử dụng để lọc các tài liệu không có cat trong đó, với sự trợ giúp của text mục lục. Nếu bạn không sử dụng giai đoạn này, kết quả sẽ giống nhau và đúng nhưng có thể chậm hơn.

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. Sử dụng máy chủ MongoDB giả để kiểm tra đơn vị

  2. Ngăn dữ liệu mùa xuân để Mongo chuyển đổi id thành ObjectId

  3. Cách tìm bản ghi ngẫu nhiên trong mongodb

  4. Spring java MongoDB chú thích @Query cho các bản ghi đầu tiên hoặc đầu tiên của thứ tự

  5. Hàm tạo lớp MongoStore không thể được gọi mà không có chương trình phụ trợ 'mới' (Express-NodeJs)