Làm cách nào để chuyển đổi ObjectId thành chuỗi trong Python?

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

example 
arrayOfId =["5434093d29ca768a74ab3080","5434093d29ca768a74ab3082"]
User.find({"where":{id:{inq:arrayOfId}},function(data));

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

 mongoose.Types.ObjectId('5434093d29ca768a74ab3080');

điểm. 1

bạn có thể làm điều đó bằng cách sử dụng mongoose.Types.ObjectId(yourId) nhưng để tìm bằng cách sử dụng cầy mangut, bạn không cần phải chuyển đổi chuỗi thành ObjectId cầy mangut. có thể sử dụng như dưới đây

Để 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

Làm cách nào để chuyển đổi ObjectId thành chuỗi trong Python?


Làm cách nào để chuyển đổi ObjectId thành chuỗi trong Python?

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, ObjectId() tạo một mã định danh duy nhất mới. Tham số tùy chọn oid có thể là một hoặc 12 bất kỳ

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ố
  • oit (tùy chọn). một ObjectId hợp lệ

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ợp

thuộ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().