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

สร้างอาร์เรย์ด้วยแบบสอบถาม MongoDB หรือไม่


คุณสามารถใช้แนวคิดของ toArray() เพื่อสร้างอาร์เรย์ ต่อไปนี้เป็นไวยากรณ์ -

db.yourCollectonName.find({}, {yourFieldName:1}).toArray();

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

> db.createArrayDemo.insertOne({"UserName":"Chris"});{ "acknowledged" :true, "insertedId" :ObjectId("5cbd6461de8cc557214c0e00")}> db.createArrayDemo.insertOne({"ชื่อผู้ใช้" :"David"});{ "acknowledged" :true, "insertedId" :ObjectId("5cbd6467de8cc557214c0e01")}> db.createArrayDemo.insertOne({"UserName":"Robert"});{ "acknowledged" :true, "insertedId" :ObjectId("5cbd646cde8cc557214c0e02")}> db.createArrayDemo.insertOne({"UserName":"Sam"});{ "acknowledged" :true, "insertedId" :ObjectId("5cbd6470de8cc55") 

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

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

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

{ "_id" :ObjectId("5cbd6461de8cc557214c0e00"), "UserName" :"Chris" }{ "_id" :ObjectId("5cbd6467de8cc557214c0e01"), "UserName" :"David" }{ "_id" :ObjectId( "5cbd646cde8cc557214c0e02"), "ชื่อผู้ใช้" :"โรเบิร์ต" }{ "_id" :ObjectId("5cbd6470de8cc557214c0e03"), "ชื่อผู้ใช้" :"แซม" }

กรณีที่ 1 − สร้างอาร์เรย์ด้วย MongoDB

หากคุณต้องการสร้างอาร์เรย์ของฟิลด์ ชื่อผู้ใช้ และไม่ต้องการฟิลด์ _id ให้ใช้แบบสอบถามด้านล่าง

> db.createArrayDemo.find({},{_id:0}, {ชื่อผู้ใช้:1}).toArray();

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

[ { "ชื่อผู้ใช้" :"คริส" }, { "ชื่อผู้ใช้" :"เดวิด" }, { "ชื่อผู้ใช้" :"โรเบิร์ต" }, { "ชื่อผู้ใช้" :"แซม" }]

กรณีที่ 2 − สร้างอาร์เรย์ด้วย MongoDB ด้วยฟิลด์ name_id เท่านั้น

หากคุณต้องการสร้างอาร์เรย์ที่มีชื่อฟิลด์ _id เท่านั้น ให้ใช้แบบสอบถามด้านล่าง

> db.createArrayDemo.find({}, {_id:1}).toArray();

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

<ก่อนหน้า>[ { "_id" :ObjectId("5cbd6461de8cc557214c0e00") }, { "_id" :ObjectId("5cbd6467de8cc557214c0e01") } { "_id" :ObjectId ("5cbd646c0e02557214c" } "5cbd6470de8cc557214c0e03") }]