Làm cách nào để chuyển đổi int thành chuỗi trong MongoDB?
Từ MongoDB 4. 0, bạn có thể sử dụng toán tử đường dẫn tổng hợp 0 để chuyển đổi giá trị thành chuỗi Show Thí dụGiả sử chúng ta có một bộ sưu tập tên là 1 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 toán tử 0 để chuyển đổi tất cả các loại đó thành một chuỗi. Nếu đầu vào là một chuỗi, thì nó chỉ trả về chuỗi
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ỗiNếu bạn gặp lỗi, hãy thử sử dụng toán tử 3 thay vì 0. Toán tử 0 cho phép bạn xử lý lỗi mà không ảnh hưởng đến toàn bộ hoạt động tổng hợpToán tử 0 tương đương với việc sử dụng toán tử 0 để chuyển đổi một giá trị thành một chuỗi Trong MongoDB, bạn có thể sử dụng toán tử đường dẫn tổng hợp { "_id" : ObjectId("6011e471c8eb4369cf6ad9d5"), "result" : "6011e471c8eb4369cf6ad9d5" }6 để chuyển đổi một giá trị thành một loại được chỉ định Bạn có thể chuyển đổi bất kỳ biểu thức hợp lệ nào thành kép, chuỗi, ObjectId, boolean, Ngày, số nguyên, dài hoặc thập phân Không phải tất cả các loại có thể được chuyển đổi sang bất kỳ loại nào khác. Một số loại chỉ có thể được chuyển đổi từ một tập hợp con của các loại MongoDB có sẵn. Ví dụ: bạn không thể chuyển đổi ngày thành số nguyên Bạn có thể tùy chọn sử dụng tham số { "_id" : ObjectId("6011e471c8eb4369cf6ad9d5"), "result" : "6011e471c8eb4369cf6ad9d5" }8 để chỉ định nội dung trả về nếu giá trị đầu vào là null hoặc bị thiếu Hãy để chúng tôi xem một ví dụ để hiểu về $toString trong MongoDB. Để hiểu khái niệm trên, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau - > db.objectidToStringDemo.insertOne({"UserName":"John"}); { "acknowledged" : true, "insertedId" : ObjectId("5c92b80036de59bd9de0639d") } > db.objectidToStringDemo.insertOne({"UserName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5c92b80436de59bd9de0639e") } > db.objectidToStringDemo.insertOne({"UserName":"Larry"}); { "acknowledged" : true, "insertedId" : ObjectId("5c92b80936de59bd9de0639f") } > db.objectidToStringDemo.insertOne({"UserName":"Robert"}); { "acknowledged" : true, "insertedId" : ObjectId("5c92b81836de59bd9de063a0") } Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find(). Truy vấn như sau - ________số 8Sau đây là đầu ra - { "_id" : ObjectId("5c92b80036de59bd9de0639d"), "UserName" : "John" } { "_id" : ObjectId("5c92b80436de59bd9de0639e"), "UserName" : "Chris" } { "_id" : ObjectId("5c92b80936de59bd9de0639f"), "UserName" : "Larry" } { "_id" : ObjectId("5c92b81836de59bd9de063a0"), "UserName" : "Robert" } Đây là truy vấn để chuyển đổi ObjectId thành giá trị chuỗi trong MongoDB tổng hợp. Truy vấn như sau - Bạn không thể chuyển đổi một giá trị kép có giá trị bị cắt bớt nhỏ hơn giá trị số nguyên tối thiểu hoặc lớn hơn giá trị số nguyên tối đa Số thập phân Trả 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 cho một số nguyên Bạn không thể chuyển đổi giá trị thập phân có giá trị bị cắt bớt nhỏ hơn giá trị số nguyên tối thiểu hoặc lớn hơn giá trị số nguyên tối đa số nguyên Không ra đâu. Trả về giá trị số nguyên Dài Trả về giá trị dài dưới dạng số nguyên Giá trị dài phải nằm trong giá trị tối thiểu và tối đa cho một số nguyên Bạn không thể chuyển đổi một giá trị dài nhỏ hơn giá trị số nguyên tối thiểu hoặc lớn hơn giá trị số nguyên tối đa Sợi dây Trả về giá trị số của chuỗi dưới dạng số nguyên Giá trị chuỗi phải là số nguyên cơ số 10; . g. 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 số không phải cơ số 10 (e. g. 09, 30)Bảng sau đây liệt kê một số ví dụ chuyển đổi sang số nguyên Thí dụ Kết quả
1
0
1
5
Lỗi
5000
Lỗi
-2
Lỗi
vô giá trị Thí dụTạo bộ sưu tập { "objectId" : "60123a54c8eb4369cf6ad9d6", "double" : "123.75", "string" : "123", "boolean" : "true", "date" : "2020-12-31T23:30:15.123Z", "integer" : "123", "long" : "123", "decimal" : "123.75" }31 với các tài liệu sau 3Hoạt động tổng hợp sau đây
{ "objectId" : "60123a54c8eb4369cf6ad9d6", "double" : "123.75", "string" : "123", "boolean" : "true", "date" : "2020-12-31T23:30:15.123Z", "integer" : "123", "long" : "123", "decimal" : "123.75" }3 Hoạt động trả về các tài liệu sau { "objectId" : "60123a54c8eb4369cf6ad9d6", "double" : "123.75", "string" : "123", "boolean" : "true", "date" : "2020-12-31T23:30:15.123Z", "integer" : "123", "long" : "123", "decimal" : "123.75" }9 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 Làm cách nào để chuyển đổi id MongoDB thành chuỗi?toString() — Hướng dẫn sử dụng MongoDB. . Tạo một ObjectId() mới và lưu trữ nó trong biến myObjectId Tạo một biểu diễn chuỗi của myObjectId bằng phương thức toString() Lưu trữ biểu diễn chuỗi trong biến myObjectIdString Làm cách nào để chuyển đổi kiểu dữ liệu trong MongoDB?Trong MongoDB, bạn có thể sử dụng toán tử đường ống tổng hợp $convert để chuyển đổi một giá trị thành một loại được chỉ định . Bạn có thể chuyển đổi bất kỳ biểu thức hợp lệ nào thành kép, chuỗi, ObjectId, boolean, Ngày, số nguyên, dài hoặc thập phân. Không phải tất cả các loại có thể được chuyển đổi sang bất kỳ loại nào khác.
Làm cách nào để chuyển đổi mảng thành chuỗi trong MongoDB?updateOne( { _id. tài liệu. _id }, { $set. { ID sản phẩm. tài liệu. productId } } ) ); Bản cập nhật này sẽ hoạt động để chuyển đổi giá trị mảng thành chuỗi - tính năng này hoạt động với MongoDB 4. Chỉ có 2 phiên bản trở lên.
Làm cách nào để chuyển đổi ObjectId thành chuỗi trong tập hợp MongoDB?toString() method để chuyển đổi ObjectId của bạn thành chuỗi. Trước tiên, bạn khớp và chiếu ObjectID của mình. Sau đó, bạn có thể chuyển đổi ID đối tượng này thành chuỗi bằng cách sử dụng ObjectID. toString(). |