Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Khớp tài liệu MongoDB collection theo _id

Để khớp (tìm) các tài liệu theo danh sách _id, sử dụng toán tử $in trong MongoDB. Tạo collection:

> db.demo528.insertOne({"Name":"Chris",Age:21});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8b00d2ef4dcbee04fbbbe0") }
> db.demo528.insertOne({"Name":"Bob",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8b00d9ef4dcbee04fbbbe1") }
> db.demo528.insertOne({"Name":"David",Age:20});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8b00e0ef4dcbee04fbbbe2") }

Hiển thị dữ liệu:

> db.demo528.find();

Kết quả:

Tìm 2 tài liệu cụ thể theo _id (Chris và David):

> db.demo528.find({
  _id: {$in:[ObjectId("5e8b00d2ef4dcbee04fbbbe0"),ObjectId("5e8b00e0ef4dcbee04fbbbe2")]}
});

Kết quả trả về 2 tài liệu khớp:

Lưu ý: $in với mảng ObjectId cho phép truy xuất hàng loạt tài liệu theo khóa chính trong 1 truy vấn duy nhất, hiệu quả hơn nhiều so với gọi findOne() nhiều lần.

Cú pháp driver: Trong Node.js driver, chuyển chuỗi thành ObjectId: new ObjectId("5e8b00d2ef4dcbee04fbbbe0") hoặc dùng mongoose.Types.ObjectId().