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

MongoDB $ toUpper

Trong MongoDB, $toUpper toán tử đường ống tổng hợp chuyển đổi một chuỗi thành chữ hoa và trả về kết quả.

Ví dụ

Giả sử chúng ta có một bộ sưu tập có tên là pets với các tài liệu sau:

{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }

Chúng ta có thể sử dụng $toUpper toán tử để chuyển đổi các trường đó thành chuỗi chữ hoa và trả về kết quả.

Dưới đây là một ví dụ về việc trả lại nametype các trường viết hoa:

db.pets.aggregate(
  [
    {
      $project:
        { 
          name: { $toUpper: "$name" },
          type: { $toUpper: "$type" },
          weight: "$weight"
        }
    }
  ]
)

Kết quả:

{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : 20 }
{ "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : 10 }
{ "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : 7 }

Chuyển đổi không phải chuỗi

Bạn có thể sử dụng $toUpper trên các giá trị không nhất thiết phải là chuỗi. Đối số có thể là bất kỳ biểu thức nào miễn là nó phân giải thành một chuỗi.

Ví dụ:chúng ta có thể sử dụng $toUpper để chuyển đổi weight trường thành một chuỗi chữ hoa, mặc dù trường đó chỉ chứa các số.

Ví dụ:

db.pets.aggregate(
  [
    {
      $project:
        { 
          name: { $toUpper: "$name" },
          type: { $toUpper: "$type" },
          weight: { $toUpper: "$weight" }
        }
    }
  ]
)

Kết quả:

{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : "20" }
{ "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : "10" }
{ "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : "7" }

Chúng ta có thể thấy rằng weight trường đã được chuyển đổi thành một chuỗi, vì nó hiện được bao quanh bởi dấu ngoặc kép. Tuy nhiên, do trường này chỉ chứa các số nên không có hiệu ứng viết hoa - các số không có chữ hoa và chữ thường, vì vậy chúng tôi không thể thấy bất kỳ sự khác biệt nào về cách viết hoa.

Nếu chúng ta chỉ muốn chuyển đổi số thành một chuỗi, chúng ta có thể sử dụng $toString toán tử hoặc thậm chí $convert nhà điều hành.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - các đối tượng? Tại sao tôi cần _id tổng hợp

  2. Điều gì đang xảy ra với Meteor và Fibers / bindEnosystem ()?

  3. MongoDB - Giải phóng mảng bằng cách sử dụng tính năng tổng hợp và loại bỏ các bản sao

  4. Chuyển đổi dự phòng cho MySQL Replication (và những thứ khác) - Nó có nên được Tự động hóa không?

  5. Làm thế nào để thực hiện cập nhật hàng loạt tài liệu trong MongoDB với Java?