MongoDB กับ Query และ คำย่อของเครื่องหมายพื้นฐาน

Sharing is caring!

mongodb

MongoDB คือ document-oriented database ซึ่งไม่เหมือนฐานข้อมูลแบบเดิมที่เราเคยใช้งานกันมา มีข้อดีเรื่องการรองรับขนาดของข้อมูลได้แบบมหาศาล ดังนั้นเรื่องคำสั่งแน่นอนว่าต้องมีเอกลักษณ์เฉพาะของมันเองด้วยเช่นกัน และสิ่งที่เป็นรูปแบบมาตรฐานคือเรื่องเครื่องหมายที่มีรูปแบบเป็นของตัว MongoDB เอง

 ตัวอย่างที่ไปพบเจอ

db.example.find({'age':{$gt:33,$lte:40}})})




เกิดความสงสัยว่าตัวแปร $gt,$lte คืออะไรและมีความหมายว่าอย่างไร ไปตามค้นหาจนไปเจอ document ของ MongoDB บอกไว้ว่าถ้าต้องการจะใส่เงื่อนไขในการค้นหาข้อมูลก็ให้ใช้ ตัวแปรเหล่านี้แทนเพื่อที่ MongoDB เองจะอ่านเข้าใจและไปค้นหาข้อมูลมาให้ได้ถูก

เครื่องหมายใช้สำหรับเปรียบเทียบ

ชื่อ คำอธิบาย เปรียบได้กับ ตัวอย่าง
$eq  เปรียบเทียบคอลัมน์ที่มีค่าเท่ากับ ค่าที่ระบุ ==
db.example.find( { col1: { $eq: 20 } } )
 $gt  เปรียบเทียบคอลัมน์ที่มีค่าที่มากกว่า ค่าที่ระบุ >
db.example.find( { col1: { $gt: 20 } } )
 $gte  เปรียบเทียบคอลัมน์ที่มีค่าที่มากกว่าหรือเท่ากับ ค่าที่ระบุ >=
db.example.find( { col1: { $gte: 20 } } )
$lt  เปรียบเทียบคอลัมน์ที่มีค่าน้อยกว่า ค่าที่ระบุ  <
db.example.find( { col1: { $lt: 20 } } )
$lte  เปรียบเทียบคอลัมน์ที่มีค่าที่น้อยกว่าหรือเท่ากับ ค่าที่ระบุ  <=
db.example.find( { col1: { $lte: 20 } } )
$ne เปรียบเทียบคอลัมน์ที่มีค่าทั้งหมดที่มีไม่เท่ากับค่าที่ระบุ !=
db.example.find( { col1: { $ne: 20 } } )
$in เปรียบเทียบคอลัมน์ที่มีค่าตรงกับค่าใด ๆ ที่ระบุไว้ในอาร์เรย์ == []
db.example.find( { col1: { $in: [10,20] } } )
$nin เปรียบเทียบคอลัมน์ที่มีค่าไม่ตรงกับค่าที่ระบุในอาร์เรย์ !=[]
db.example.find( { col1: { $nin: [10,20] } } )

เครื่องหมายที่ใช้เชิงตรรกะ

ชื่อ คำอธิบาย เปรียบได้กับ ตัวอย่าง
$or เปรียบเทียบแบบเลือกอย่างใดอย่างหนึ่ง OR || หรือ
db.example.find( { 
$or: [ { quantity: { $lt: 20 } }, { price: 10 } ] 
} )
$and  เปรียบเทียบแบบจำเป็นต้องเลือกข้อมูลที่เข้าเงื่อนไขทั้งหมด AND || และ
db.example.find( { 
$and: [ { price: { $ne: 1.99 } }, { price: { $exists: true } 
} ]
$not   เปรียบเทียบแบบต้องการข้อมูลที่ไม่เข้าเงือนไขทั้งหมด NOT || ไม่ต้องการ
db.example.find( { 
price: { $not: { $gt: 1.99 } } 
} )
$nor  เปรียบเทียบแบบข้อมูลทั้งหมดที่ไม่ตรงกับคำสั่งทั้งสอง NOR || ไม่ต้องการ
db.example.find( { 
$nor: [ { price: 1.99 }, { sale: true } ] 
} )




นอกจากนี้ยังมีพวก เปรียบเทียบ Element,Evaluation,Geospatial,Array และคอมเม้นคำอธิบาย Comments ข้อมูเหล่านี้สามารถไปเข้าไป API Document ของ MongoDB ได้เพิ่มเติมจาก docs.mongodb.org

Posts created 71

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top
shares