Computer >> Máy Tính >  >> Lập trình >> MongoDB

MongoDB findById trả về một danh sách các tài liệu thay vì một kết quả duy nhất? Làm thế nào để chỉ nhận được một tài liệu duy nhất?


Để chỉ nhận được một kết quả duy nhất, hãy sử dụng findOne () và tìm nạp trên cơ sở id. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo340.insertOne({_id:1,"Name":"Chris",Age:21});
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo340.insertOne({_id:2,"Name":"David",Age:23});
{ "acknowledged" : true, "insertedId" : 2 }
> db.demo340.insertOne({_id:3,"Name":"Bob",Age:20});
{ "acknowledged" : true, "insertedId" : 3 }
> db.demo340.insertOne({_id:4,"Name":"Sam",Age:19});
{ "acknowledged" : true, "insertedId" : 4 }

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.demo340.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : 1, "Name" : "Chris", "Age" : 21 }
{ "_id" : 2, "Name" : "David", "Age" : 23 }
{ "_id" : 3, "Name" : "Bob", "Age" : 20 }
{ "_id" : 4, "Name" : "Sam", "Age" : 19 }

Đây là truy vấn để tìm id -

> db.demo340.findOne({_id:1});

Điều này sẽ tạo ra kết quả sau -

{ "_id" : 1, "Name" : "Chris", "Age" : 21 }