Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

MongoDB findById ส่งคืนรายการเอกสารแทนที่จะเป็นผลลัพธ์เดียว? จะรับเอกสารเพียงฉบับเดียวได้อย่างไร


เพื่อให้ได้ผลลัพธ์เพียงรายการเดียว ให้ใช้ findOne() และดึงข้อมูลโดยใช้รหัส ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> 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 }

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo340.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

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

นี่คือแบบสอบถามเพื่อค้นหาโดย id -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

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