Tôi đang làm việc ở phía máy khách của MEAN stack lần đầu tiên. Tôi muốn chuyển đổi chuỗi id từ cơ sở dữ liệu sang mongodb ObjectId để tôi có thể nhấn api tìm dữ liệu trên cơ sở của ObjectId Show
bây giờ vì ArrayOfId có id ở định dạng chuỗi nên tôi không thể thực hiện truy vấn trên mongo bằng cách tìm api. Có cách nào để xử lý chuyển đổi này ở phía máy khách không? - stackoverflow. comđiểm. 0
điểm. 1 bạn có thể làm điều đó bằng cách sử dụng Để chuyển đổi từ ObjectId sang String, hãy sử dụng toString() trong MongoDB. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu - > db.demo52.insertOne({"StudentName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e27129bcfb11e5c34d89910") } 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() - > db.demo52.find(); Điều này sẽ tạo ra đầu ra sau - { "_id" : ObjectId("5e27129bcfb11e5c34d89910"), "StudentName" : "Chris" } Sau đây là truy vấn để chuyển đổi ObjectId thành Chuỗi - > ObjectId("5e27129bcfb11e5c34d89910").toString(); ObjectId("5e27129bcfb11e5c34d89910") Bây giờ bạn có thể kiểm tra xem ObjectId có ở dạng chuỗi hay không − > typeof ObjectId("5e27129bcfb11e5c34d89910").toString(); Điều này sẽ tạo ra đầu ra sau - String def test_prunes_doesnt_prune_snapshots_fully_different_tss(thư viện, fw_pointers_cfg). với FwPointersCtx(fw_pointers_cfg). coll = thư viện. _bộ sưu tập a = ts1 b = ts2 c = b. sao chép() c. chỉ mục = [i + dtd(ngày=365) cho tôi trong c. mục lục] c. mục lục. tên = b. mục lục. tên bây giờ = dt. utcnow() với bản vá ("bson. ObjectId", return_value=bson. ID đối tượng. from_datetime(now - dtd(minutes=125))). thư viện. ghi (ký hiệu, a, prune_previous_version=False) với bản vá ("bson. ObjectId", return_value=bson. ID đối tượng. from_datetime(now - dtd(minutes=123))). thư viện. ghi (ký hiệu, b, prune_previous_version=False) với bản vá ("bson. ObjectId", return_value=bson. ID đối tượng. from_datetime(now - dtd(minutes=122))). thư viện. thư viện ghi (ký hiệu, c, prune_previous_version=False). ảnh chụp nhanh ('snap') với bản vá ("bson. ObjectId", return_value=bson. ID đối tượng. from_datetime(now - dtd(minutes=121))). thư viện. ghi (ký hiệu, c, prune_previous_version=False) với bản vá ("bson. ObjectId", return_value=bson. ID đối tượng. from_datetime(now - dtd(minutes=118))). thư viện. ghi (ký hiệu, c, prune_previous_version=False) với bản vá ("bson. ObjectId", return_value=bson. ID đối tượng. from_datetime(now - dtd(minutes=119))). thư viện. ghi (ký hiệu, c, prune_previous_version=False) khẳng định mongo_count (coll. phiên bản) == 6 # Cắt bớt tất cả các phiên bản cũ hơn phiên bản mới nhất cũ hơn thư viện 10 phút. ghi(ký hiệu, c, prune_previous_version=True) khẳng định mongo_count(coll. phiên bản) == 5 assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of='snap'). dữ liệu, c) assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of=4). dữ liệu, c) assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of=5). dữ liệu, c) assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of=6). dữ liệu, c) assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of=7). dữ liệu, c) thư viện. delete_snapshot('snap') khẳng định mongo_count(coll. phiên bản) == 5 thư viện. write(ký hiệu, c, prune_previous_version=True) assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of=4). dữ liệu, c) assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of=5). dữ liệu, c) assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of=6). dữ liệu, c) assert_frame_equal(thư viện. đã đọc (ký hiệu, as_of=7). dữ liệu, c) Theo mặc định, Ví dụ: 12 byte b’foo-bar-quux’ không tuân theo đặc tả ObjectId nhưng chúng là đầu vào được chấp nhận ________số 8_______ oid cũng có thể là 24 chữ số hex >>> ObjectId('0123456789ab0123456789ab') ObjectId('0123456789ab0123456789ab') Tăng nếu oid không phải là 12 byte cũng như 24 chữ số hex hoặc nếu oid không phải là loại được chấp nhận Thông số
Xem thêm Tài liệu MongoDB trên ObjectIds Đã thay đổi trong phiên bản 3. 8. hiện triển khai đặc tả ObjectID phiên bản 0. 2. str(o)Nhận phiên bản mã hóa hex của o Tính chất sau luôn đúng >>> o = ObjectId() >>> o == ObjectId(str(o)) True Đại diện này hữu ích cho các url hoặc những nơi khác mà >>> ObjectId('0123456789ab0123456789ab') ObjectId('0123456789ab0123456789ab')3 không phù hợpthuộc tính nhị phân. Biểu diễn nhị phân 12 byte của ObjectId này classmethod from_datetime(thế hệ_thời gian. ) →Tạo một phiên bản ObjectId giả với thời gian tạo cụ thể Phương pháp này hữu ích để thực hiện các truy vấn phạm vi trên một trường chứa các thể hiện Cảnh báo Sẽ không an toàn khi chèn tài liệu chứa ObjectId được tạo bằng phương pháp này. Phương pháp này cố tình loại bỏ sự đảm bảo tính duy nhất mà ObjectIds thường cung cấp. ObjectIds được tạo bằng phương pháp này nên được sử dụng riêng trong các truy vấn generation_time sẽ được chuyển thành UTC. Các trường hợp thời gian ngây thơ sẽ được xử lý như thể chúng đã chứa UTC Một ví dụ sử dụng trình trợ giúp này để lấy tài liệu trong đó >>> ObjectId('0123456789ab0123456789ab') ObjectId('0123456789ab0123456789ab')5 được tạo trước ngày 1 tháng 1 năm 2010 sẽ là Làm cách nào để chuyển đổi ObjectId thành chuỗi trong Python?ObjectId. toString() trả về biểu diễn chuỗi của đối tượng ObjectId().
Làm cách nào để chuyển đổi ID đối tượng thành chuỗi?Chạy các lệnh sau trong mongosh. . myObjectId = ObjectId("507c7f79bcf86cd7994f6c0e") myObjectIdString = myObjectId. toString() 507c7f79bcf86cd7994f6c0e loại myObjectIdString chuỗi Làm cách nào để lấy id từ ObjectId MongoDB trong Python?Bạn thực sự nên bắt đầu với hướng dẫn chính thức. api. mongodb. org/python/hiện tại/hướng dẫn. html. – Blakes Bảy. . tôi đã làm điều đó. . Sử dụng phương thức find_one() doc_id = db. nhiêu bác sĩ. find_one({"email". doc_mail})["_id"]. @chridam Giả sử điều kiện được tìm thấy trong bộ sưu tập. . 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(). |