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

MongoDB $ toString

Từ MongoDB 4.0, bạn có thể sử dụng $toString toán tử đường ống tổng hợp để chuyển đổi một giá trị thành một chuỗi.

Ví dụ

Giả sử chúng ta có một tập hợp được gọi là types và nó chứa tài liệu sau:

{
	"_id" : ObjectId("60123a54c8eb4369cf6ad9d6"),
	"double" : 123.75,
	"string" : "123",
	"boolean" : true,
	"date" : ISODate("2020-12-31T23:30:15.123Z"),
	"integer" : 123,
	"long" : NumberLong(123),
	"decimal" : NumberDecimal("123.75")
}

Chúng ta có thể sử dụng $toString toán tử để chuyển đổi tất cả các kiểu đó thành một chuỗi. Nếu đầu vào là một chuỗi thì nó chỉ trả về chuỗi.

db.types.aggregate(
  [
    {
      $project:
        { 
          _id: 0,
          objectId: { $toString: "$_id" },
          double: { $toString: "$double" },
          string: { $toString: "$string" },
          boolean: { $toString: "$boolean" },
          date: { $toString: "$date" },
          integer: { $toString: "$integer" },
          long: { $toString: "$long" },
          decimal: { $toString: "$decimal" }
        }
    }
  ]
).pretty()

Kết quả:

{
	"objectId" : "60123a54c8eb4369cf6ad9d6",
	"double" : "123.75",
	"string" : "123",
	"boolean" : "true",
	"date" : "2020-12-31T23:30:15.123Z",
	"integer" : "123",
	"long" : "123",
	"decimal" : "123.75"
}

Lỗi

Nếu bạn gặp lỗi, hãy thử sử dụng $convert toán tử thay vì $toString . $convert cho phép bạn xử lý các lỗi mà không ảnh hưởng đến toàn bộ hoạt động tổng hợp.

$toString toán tử tương đương với việc sử dụng $convert toán tử để chuyển đổi một giá trị thành một chuỗi.

Dưới đây là một ví dụ về việc sử dụng $convert để chuyển đổi một ngày thành một chuỗi ::

db.types.aggregate(
  [
    {
      $project:
        { 
          _id: 0,
          result: 
          {
            $convert: { 
              input: "$date", 
              to: "string",
              onError: "An error occurred",
              onNull: "Input was null or empty" 
            }
          }
        }
    }
  ]
)

Kết quả:

{ "result" : "2020-12-31T23:30:15.123Z" }

Xem MongoDB $convert để biết thêm ví dụ.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tại sao gặp lỗi mongod dead nhưng subsys bị khóa và Không đủ dung lượng trống cho các tệp tạp chí trên Linux?

  2. MongoDB $ dateFromString

  3. Truy vấn Mongo sử dụng mongoid trong ứng dụng rails gây ra lỗi hết thời gian chờ con trỏ

  4. Sử dụng toán tử $ slice để lấy phần tử cuối cùng của mảng

  5. Các ABC của NestJS:Hướng dẫn cho người mới bắt đầu với MongoDB (Mongoose).