مشخصات مقاله
-
0
-
0.0
-
2101
-
0
-
0
آموزش جستجو نتایج مورد نظر ( Query ) در MongoDB Node.js
آموزش جستجو نتایج مورد نظر ( Query ) در Node.js MongoDB :
پس از جستجو و پیدا کردن رکوردها از یک مجوعه ( Collection ) در یک پایگاه داده MongoDB، می توانید نتایج خروجی را بر حسب اطلاعات مورد نیازتان ، فیلتر نمایید.
همانطور که در بخش های قبلی اشاره کردیم، پارامتر اول متد find() ، یک شی جستجو ( Query Object ) است که در آن می توانید شرایط مورد نظر خود را تعیین کرده و نتایج خروجی را بر حسب نیاز، فیلتر نمایید.
مثال : در کد مثال زیر توسط یک شی MongoClient به پایگاه داده "mydb" متصل شده ایم.
سپس با تعیین پارامتر جستجو در متغیر query ، از متد find خواسته شده تا اطلاعات کلیه فیلدهای رکوردی در جدول "customers" که مقدار فیلد address آن برابر "Park Lane 38" است را در خروجی نمایش دهد :
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var query = { address: "Park Lane 38" };
dbo.collection("customers").find(query).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
کد مثال فوق را در فایل "demo_mongodb_query.js" ذخیره کرده و با دستور زیر، آن را اجرا نمایید :
C:\Users\Your Name>node demo_mongodb_query.js
برنامه پس از اجرای موفقیت آمیز دستور فوق، اطلاعات رکورد هدف را نمایش می دهد:
[
{ _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38' }
]
آموزش فیلتر کردن نتایج جستجو با Regular Expression در MongoDB :
شما می توانید از فرمت های خاص جستجو یا Regular Experssion برای پیدا کردن دقیق نتایج مورد نظرتان در MongoDB ، استفاده نمایید.
Regular Expression فقط بر روی فایل و جستجو های متنی ( Strings ) ، قابل اجرا هستند.
در کد مثال عملی زیر، با استفاده از یک فرمت خاص ، می خواهیم فقط اطلاعات مشتریانی را نمایش دهیم که آدرس آنها ( فیلد address ) با حرف "s" شروع می شود.
برای این منظور از عبارت /^S/ به عنوان پارامتر دوم متد find ، استفاده کرده ایم :
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var query = { address: /^S/ };
dbo.collection("customers").find(query).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
کد مثال فوق را در فایل "demo_mongodb_query_s.js" ذخیره کرده و با دستور زیر، آن را اجرا نمایید :
C:\Users\Your Name>node demo_mongodb_query_s.js
برنامه مقادیر رکوردهای مورد نظر را به صورت زیر نشان خواهد داد :
[
{ _id: 58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard', address: 'Sky st 331' },
{ _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway 1633' }
]