Monthly Archives: ژانویه 2018

آموزش کار با دیستابیس MongoDB

دیتابیس MongoDB از دسته دیتابیس های no sql است کار کردن با این دیتابیس بسیار ساده و لذت بخش است

فایلی به اسم test.js ایجاد میکنیم و برای کانکت شدن به دیتابیس از کد های زیر استفاده میکنیم

const MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017', function(err, client) {
 console.log('connect');
 // other code
 });

زمانی که اتصال به دیتابیس انجام شد می توانیم عملیاتی مانند Find (select)  , update , insert , …. را انجام دهیم

افزودن اطلاعات به دیتابیس :

const MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017', function(err, client) {
 console.log('connect');
 // other code
   const db = client.db('db_name');
   const col = db.collection('col_name');

   col.insertOne({name:'nitrocode',url:'nitrocode.ir',age:2,active:true},null,function(err,result) {});

 });

جستجو در دیتابیس :

 col.find({name:'nitrocode'}).toArray(function(err,select) {
console.log(select);
});

کد بالا لیست نتایج یافت شده را به صورت ارایه برمیگرداند حالا یک پرسجوی پیچیده تر انجام میدهیم

 coll.find({$or:[{phone:'091000000'},{age:2}]})
.sort({_id:-1})
.limit(1)
.toArray(function(err,select) {
console.log(select);
});

این پرسجو همانند sql query زیر عمل میکند

select * from `test` where phone='091000000' or age=2
order by _id DESC LIMIT 1

می توانیم از دو عدد 1 یا -1 (منفی یک) در sort استفاده کنیم که یک به صورت صعودی و منفی یک به صورت نزولی عملیات sort را انجام می دهد

عملیات update هم به این صورت انجام می شود

coll.updateOne({_id:code_id},{$set:{active:false}},function() {
 })

در اخر هم می توانید کانکشن دیتابیس را به وسیله کد

client.close()

ببندید

یکی از ویژگی های جالب MongoDB اینه که شما میتونی همزمان با عملیات find اپدیت هم انجام بدید که بهتره داکیومنت کامل رو از سایت MongoDB مطالعه کنیم البته سایتش ip های ایرانو تحریم کردن که دیگه روش دور زدنشو بلدید ://


جستجوی هوشمند