آموزش مقدماتی پایگاه داده سندگرای مانگو

مانگو  محمدامین ساجدی
Facebooktwittergoogle_pluspinterestlinkedinmail
Print Friendly, PDF & Email

عبارات nested با عملگر $or :

می توانید عبارات را بصورت nested نیز پیاده سازی کنید.

عملیات های پرس و جوی عناصر:

عملگر $exist:

نحو این عکلگر بصورت زیر می باشد:

{ field: { $exists: <boolean> } }

وقتیکه <Boolean> دارای مقدار true باشد، عملگر $exists داکیومنت هایی را تطابق می دهد که شامل آن فیلد باشند همچنین داکیومنت هایی که دارای آن فیلد با مقدار null هستند را نیز انتخاب می کند. اگر <Boolean> مقدار false بگیرد این پرس و جو تنها داکیومنت هایی را برمیگرداند که دارای این فیلد نمی باشند.

عملگر $exist در MongoDB هیچ ارتباط معنایی با این عملگر در SQL ندارد. عملگر exists در SQL به عملگر $in در MongoDB اشاره دارد.

مثال ها:

عملگر $exists و  $nin:

به مثال زیر توجه کنید:

db.inventory.find( { qty: { $exists: true, $nin: [ 5, 15 ] } } )

این پرس و جو تمام داکیومنت هایی را انتخاب می کند که درون مجموعه inventory هستند و فیلد qty آنها وجود دارد و مقدار آن به غیر از 5 یا 15 می باشد.

مقادیر Null :

مجموعه records شامل داکیومنت های زیر داده شده است:

{ a: 5, b: 5, c: null }

{ a: 3, b: null, c: 8 }

{ a: null, b: 3, c: 9 }

{ a: 1, b: 2, c: 3 }

{ a: 2, c: 5 }

{ a: 3, b: 2 }

{ a: 4 }

{ b: 2, c: 4 }

{ b: 2 }

{ c: 6 }

به خروجی پرس و جوهای زیر توجه کنید:

پرس و جو:

db.records.find( { a: { $exists: true } } )

نتیجه:

{ a: 5, b: 5, c: null }

{ a: 3, b: null, c: 8 }

{ a: null, b: 3, c: 9 }

{ a: 1, b: 2, c: 3 }

{ a: 2, c: 5 }

{ a: 3, b: 2 }

{ a: 4 }

بدون دیدگاه

ارسال دیدگاه

اجرا شده توسط: همیار وردپرس