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

Thêm điểm số vào tập hợp MongoDB bằng cách sử dụng $ switch

Có vẻ như {"name": "sitt"} luôn giải quyết thành true . Thay vào đó, bạn nên sử dụng **$eq** để làm cho nó hoạt động.

cũng lưu ý rằng **$match** của bạn giai đoạn có thể được đơn giản hóa rất nhiều vì 3 biểu thức của bạn tương đương với

{$match: {name: /sitt/i}}

để truy vấn của bạn trở thành:

db.getCollection('tags').aggregate([
   {
      $match:{
         name:/sitt/i
      }
   },
   {
      $project:{
         name: 1,
         score:{
            $switch:{
               branches:[
                  {
                     case:{
                        $eq:[
                           "$name",
                           "sitt"
                        ]
                     },
                     then:100
                  }
               ],
               default:50
            }
         }
      }
   }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để giả lập mongodb cho các kỳ lân trăn?

  2. Nhà điều hành đường ống tổng hợp MongoDB $ sum

  3. Lưu trữ phiên NodeJS + Express + Mongo

  4. Tập hợp Mongo DB với mảng đối tượng

  5. Cách kết nối với MongoDB từ iOS (Swift)