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

MongoDB: ใช้ตัวแปรผู้กำหนดเอง (User-defined Variables) ในคิวรี

ใน MongoDB shell สามารถใช้คำสั่ง var ประกาศตัวแปรแล้วนำไปใช้ในคิวรีได้ สร้างคอลเลกชันตัวอย่าง:

> db.demo327.insertOne({"FirstName":"Chris","LastName":"Brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e516952f8647eb59e562076") }
> db.demo327.insertOne({"FirstName":"David","LastName":"Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e51695af8647eb59e562077") }
> db.demo327.insertOne({"FirstName":"John","LastName":"Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e516962f8647eb59e562078") }
> db.demo327.insertOne({"FirstName":"John","LastName":"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e516968f8647eb59e562079") }

แสดงข้อมูล:

> db.demo327.find();

ตั้งค่าตัวแปรและใช้ในคิวรี:

> var name="John";
> db.demo327.find({"FirstName":name});

ผลลัพธ์ (เจอ 2 เอกสาร):

{ "_id" : ObjectId("5e516962f8647eb59e562078"), "FirstName" : "John", "LastName" : "Doe" }
{ "_id" : ObjectId("5e516968f8647eb59e562079"), "FirstName" : "John", "LastName" : "Smith" }

ข้อมูลเพิ่มเติม

  • ตัวแปร var มี scope อยู่ใน shell session เดียวกัน
  • ใช้ได้กับค่าทุกประเภท: string, number, object, array, regex
  • ตัวอย่าง: var minAge = 18; db.users.find({age: {$gte: minAge}})
  • ใน application code (Node.js, Python, etc.) ใช้ตัวแปรของภาษานั้นแทน
  • MongoDB shell รองรับ JavaScript syntax เต็มรูปแบบ