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

ฉายผลลัพธ์เป็นอาร์เรย์ของรายการที่เลือกใน MongoDB?


ใช้ different() สำหรับสิ่งนี้ เนื่องจากจะค้นหาค่าที่แตกต่างกันสำหรับฟิลด์ที่ระบุในคอลเล็กชันหรือมุมมองเดียว และส่งคืนผลลัพธ์ในอาร์เรย์

ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.projectionListDemo.insertOne({"_id":"1","Subject":["MongoDB","MySQL","Java"]});
{ "acknowledged" : true, "insertedId" : "1" }
> db.projectionListDemo.insertOne({"_id":"2","Subject":["MongoDB","C","C++"]});
{ "acknowledged" : true, "insertedId" : "2" }
> db.projectionListDemo.insertOne({"_id":"3","Subject":["Java","Python"]});
{ "acknowledged" : true, "insertedId" : "3" }

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

> db.projectionListDemo.find().pretty();

ผลลัพธ์

{ "_id" : "1", "Subject" : [ "MongoDB", "MySQL", "Java" ] }
{ "_id" : "2", "Subject" : [ "MongoDB", "C", "C++" ] }
{ "_id" : "3", "Subject" : [ "Java", "Python" ] }

ตอนนี้ให้เราได้ผลลัพธ์เป็นอาร์เรย์ของรายการที่เลือก -

> db.projectionListDemo.distinct('_id', {'Subject' : 'MongoDB'});

ผลลัพธ์

[ "1", "2" ]