Chuyển đổi một giá trị thành long. Nếu giá trị không thể được chuyển đổi thành dài, lỗi. Nếu giá trị là null hoặc bị thiếu, trả về null
có cú pháp sau
sao chép
{ $toLong: }
Các mất bất kỳ hợp lệ
The là cách viết tắt của biểu thức sau
sao chép
{ $convert: { input: , to: "long" } }
Xem thêm
Cư xử
Bảng sau liệt kê các loại đầu vào có thể được chuyển đổi thành số thập phân
Bảng sau liệt kê các loại đầu vào có thể được chuyển đổi thành dạng dài
Loại đầu vàoBehaviorBooleanTrả về NumberLong[0] cho
{ $convert: { input: , to: "long" } }3
Trả về NumberLong[1] cho
{ $convert: { input: , to: "long" } }4Gấp đôi
Trả về giá trị bị cắt bớt
Giá trị gấp đôi bị cắt ngắn phải nằm trong giá trị tối thiểu và tối đa trong một thời gian dài
Bạn không thể chuyển đổi một giá trị kép có giá trị bị cắt nhỏ hơn giá trị dài tối thiểu hoặc lớn hơn giá trị dài tối đa
Số thập phânTrả về giá trị bị cắt bớt
Giá trị thập phân bị cắt ngắn phải nằm trong giá trị tối thiểu và tối đa trong một thời gian dài
Bạn không thể chuyển đổi giá trị thập phân có giá trị bị cắt nhỏ hơn giá trị dài tối thiểu hoặc lớn hơn giá trị dài tối đa
Trả về giá trị số của chuỗi
Giá trị chuỗi phải có độ dài cơ số 10 [e. g.
{ $convert: { input: , to: "long" } }5,
{ $convert: { input: , to: "long" } }6]
Bạn không thể chuyển đổi giá trị chuỗi của số thực hoặc số thập phân hoặc không phải cơ số 10 [e. g.
{ $convert: { input: , to: "long" } }7,
{ $convert: { input: , to: "long" } }8]DateChuyển đổi Ngày thành số mili giây kể từ kỷ nguyên
Bảng sau đây liệt kê một số chuyển đổi thành các ví dụ dài
Ví dụKết quả{ $convert: { input: , to: "long" } }9NumberLong[“1”]
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]0NumberLong[“0”]
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]1NumberLong[“1”]
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]2NumberLong[“5”]
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]3Error
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]4NumberLong[8]
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]5NumberLong[“1522039108044”]_______9_______6]NumberLong[“-__9___2]
Thí dụ
Tạo bộ sưu tập
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]9 với các tài liệu sau
sao chép
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]
Thao tác tổng hợp sau trên bộ sưu tập
db.orders.insert[ [ { _id: 1, item: "apple", qty: NumberInt[5] }, { _id: 2, item: "pie", qty: "100" }, { _id: 3, item: "ice cream", qty: NumberLong[500] }, { _id: 4, item: "almonds", qty: "50" }, ] ]9 chuyển đổi
// Define stage to add convertedQty field with converted qty value qtyConversionStage = { $addFields: { convertedQty: { $toLong: "$qty" } } }; // Define stage to sort documents by the converted qty values sortStage = { $sort: { "convertedQty": -1 } }; db.orders.aggregate[ [ qtyConversionStage, sortStage ]]1 thành long trước khi sắp xếp theo giá trị
sao chép
// Define stage to add convertedQty field with converted qty value qtyConversionStage = { $addFields: { convertedQty: { $toLong: "$qty" } } }; // Define stage to sort documents by the converted qty values sortStage = { $sort: { "convertedQty": -1 } }; db.orders.aggregate[ [ qtyConversionStage, sortStage ]]
Hoạt động trả về các tài liệu sau
sao chép
{ "_id" : 1, "item" : "apple", "qty" : 5, "convertedQty" : NumberLong[5] } { "_id" : 2, "item" : "pie", "qty" : "100", "convertedQty" : NumberLong[100] } { "_id" : 3, "item" : "ice cream", "qty" : NumberLong[500], "convertedQty" : NumberLong[500] } { "_id" : 4, "item" : "almonds", "qty" : "50", "convertedQty" : NumberLong[50] }
Ghi chú
Nếu thao tác chuyển đổi gặp lỗi, thao tác tổng hợp sẽ dừng và đưa ra lỗi. Để ghi đè hành vi này, thay vào đó hãy sử dụng
← $toInt [tổng hợp] $toObjectId [tổng hợp] →
© MongoDB, Inc 2008-nay. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc