دیتابیس MongoDB – دستورات مقدماتی

دیتابیس MongoDB – دستورات مقدماتی

در قسمت قبلی مفاهیم MongoDB را به اختصار توضیح دادم. در این بخش به شرح دستورات ابتدایی در MongoDB می پردازم. در MongoDB برای ساخت دیتابیس از <use <DB_NAME استفاده می شود.برای مثال تکه کد زیر دیتابیس mydb را ایجاد (رزرو) کرده و به آن connect می شود. در ادامه توضیح داده می شود که این دستور به منزله ساخت دیتابیس نیست.> use mydb
switched to db mydbبرای مشاهده دیتابیس connect شده از دستور زیر استفاده می کنیم:> db
mydbبرای مشاهده لیست دیتابیس ها از دستور زیر استفاده می کنیم:> show dbs
admin 0.000GB
config 0.000GB
local 0.000GBنکته: برای نمایش دیتابیسی که به تازگی ساخته شده است باید حتما یک رکورد در آن insert کرد.برای حذف یک دیتابیس از دستور زیر استفاده می کنیم:db.dropDatabase()مثال>show dbs
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
mydb 0.840256B>db.dropDatabase()
>{ &quotdropped&quot : &quotmydb&quot, &quotok&quot : 1 }>show dbs
local 0.78125GB
test 0.23012GBdb.createCollection(name, options)در دستور بالا name نام collection و option که اختیاری است تنظیمات مربوط به size و indexing را مشخص می کند و از بین گزینه های (capped, autoIndexId, size, max) انتخاب می شود.مثال>use test
switched to db test
>db.createCollection(&quotmycollection&quot)
{ &quotok&quot : 1 }برای نمایش لیست collection های یک دیتابیس از دستور زیر استفاده می کنیم:>use test
switched to db test
>show collections
mycollectionنکته: در MongoDB نیازی به ساخت collection نیست، با insert اولین مقدار collection به صورت اتوماتیک ساخته می شود.از دستور زیر برای حذف یک collection استفاده می شود:db.COLLECTION_NAME.drop()در MongoDB هم مانند سایر پایگاه داده ها انواع مختلف دیتا تایپ ها در اختیار است. از انواع دیتا تایپد های مورد استفاده می توان بهString, Boolean, Double, Arrays, Timestamp, Object, Null, Symbol, Date, Object ID, Binary data, Code و Regular expression اشاره کرد.ورود اطلاعات در MongoDB با استفاده از دستور db.COLLECTION_NAME.insert(document) صورت می گیرد.مثال> db.users.insert({
… _id : ObjectId(&quot507f191e810c19729de860ea&quot),
… title: &quotMongoDB Overview&quot,
… description: &quotMongoDB is no sql database&quot,
… by: &quottutorials point&quot,
… url: &quothttp://www.tutorialspoint.com&quot,
… tags: [‘mongodb’, ‘database’, ‘NoSQL’],
… likes: 100
… })
WriteResult({ &quotnInserted&quot : 1 })نکته: در صورتی که collection مورد نظر وجود نداشته باشد آنگاه MongoDB آن را ساخته و سپس insert را انجام می دهد.نکته: در صورتی که id_ را مشخص نکنیم آنگاه MongoDB به صورت اتوماتیک یک فیلد با مقدار منحصر به فرد از نوع unique ObjectId در collection ایجاد می کند.متد ()insertOne:> db.empDetails.insertOne(
{
First_Name: &quotRadhika&quot,
Last_Name: &quotSharma&quot,
Date_Of_Birth: &quot1995-09-26&quot,
e_mail: [email protected]&quot,
phone: &quot9848022338&quot
})
{
&quotacknowledged&quot : true,
&quotinsertedId&quot : ObjectId(&quot5dd62b4070fb13eec3963bea&quot)
}متد ()insertMany:برای insert چند رکورد همزمان از این متد استفاده می شود.> db.empDetails.insertMany(
[
{
First_Name: &quotRadhika&quot,
Last_Name: &quotSharma&quot,
Date_Of_Birth: &quot1995-09-26&quot,
e_mail: [email protected]&quot,
phone: &quot9000012345&quot
},
{
First_Name: &quotRachel&quot,
Last_Name: &quotChristopher&quot,
Date_Of_Birth: &quot1990-02-16&quot,
e_mail: [email protected]&quot,
phone: &quot9000054321&quot
},
{
First_Name: &quotFathima&quot,
Last_Name: &quotSheik&quot,
Date_Of_Birth: &quot1990-02-16&quot,
e_mail: [email protected]&quot,
phone: &quot9000054321&quot
}
]
)
{
&quotacknowledged&quot : true,
&quotinsertedIds&quot : [
ObjectId(&quot5dd631f270fb13eec3963bed&quot),
ObjectId(&quot5dd631f270fb13eec3963bee&quot),
ObjectId(&quot5dd631f270fb13eec3963bef&quot)
]
}برای استخراج داده ها از collection ها از این متد استفاده می کنیم.>db.COLLECTION_NAME.find()مثال> use sampleDB
switched to db sampleDB
> db.createCollection(&quotmycol&quot)
{ &quotok&quot : 1 }متد ()prety:برای نمایش ساختاریافته داده های استخراج شده از متد find از ()prety استفاده می کنیم.>db.COLLECTION_NAME.find().pretty()متد ()findOne:معادل ()first یا ()one در سایر پایگاه های داده است و یک رکورد را برمیگرداند.>db.COLLECTIONNAME.findOne()مثال> db.mycol.findOne({title: &quotMongoDB Overview&quot})
{
&quot_id&quot : ObjectId(&quot5dd6542170fb13eec3963bf0&quot),
&quottitle&quot : &quotMongoDB Overview&quot,
&quotdescription&quot : &quotMongoDB is no SQL database&quot,
&quotby&quot : &quottutorials point&quot,
&quoturl&quot : &quothttp://www.tutorialspoint.com&quot,
&quottags&quot : [
&quotmongodb&quot,
&quotdatabase&quot,
&quotNoSQL&quot
],
&quotlikes&quot : 100
}متد find به همراه AND:>db.mycol.find({ $and: [ {<key1>:<value1>}, { <key2>:<value2>} ] })مثال> db.mycol.find({$and:[{&quotby&quot:&quottutorials point&quot},{&quottitle&quot: &quotMongoDB Overview&quot}]}).pretty()
{
&quot_id&quot : ObjectId(&quot5dd4e2cc0821d3b44607534c&quot),
&quottitle&quot : &quotMongoDB Overview&quot,
&quotdescription&quot : &quotMongoDB is no SQL database&quot,
&quotby&quot : &quottutorials point&quot,
&quoturl&quot : &quothttp://www.tutorialspoint.com&quot,
&quottags&quot : [
&quotmongodb&quot,
&quotdatabase&quot,
&quotNoSQL&quot
],
&quotlikes&quot : 100
}متد find به همراه OR:>db.mycol.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()مثال>db.mycol.find({$or:[{&quotby&quot:&quottutorials point&quot},{&quottitle&quot: &quotMongoDB Overview&quot}]}).pretty()
{
&quot_id&quot: ObjectId(7df78ad8902c),
&quottitle&quot: &quotMongoDB Overview&quot,
&quotdescription&quot: &quotMongoDB is no sql database&quot,
&quotby&quot: &quottutorials point&quot,
&quoturl&quot: &quothttp://www.tutorialspoint.com&quot,
&quottags&quot: [&quotmongodb&quot, &quotdatabase&quot, &quotNoSQL&quot],
&quotlikes&quot: &quot100&quot
}متد find به همراه AND و OR:مثال>db.mycol.find({&quotlikes&quot: {$gt:10}, $or: [{&quotby&quot: &quottutorials point&quot},
{&quottitle&quot: &quotMongoDB Overview&quot}]}).pretty()
{
&quot_id&quot: ObjectId(7df78ad8902c),
&quottitle&quot: &quotMongoDB Overview&quot,
&quotdescription&quot: &quotMongoDB is no sql database&quot,
&quotby&quot: &quottutorials point&quot,
&quoturl&quot: &quothttp://www.tutorialspoint.com&quot,
&quottags&quot: [&quotmongodb&quot, &quotdatabase&quot, &quotNoSQL&quot],
&quotlikes&quot: &quot100&quot
}>db.COLLECTION_NAME.find(
{
$not: [
{key1: value1}, {key2:value2}
]
}
)مثال> db.empDetails.find(
{
$nor:[
40
{&quotFirst_Name&quot: &quotRadhika&quot},
{&quotLast_Name&quot: &quotChristopher&quot}
]
}
).pretty()
{
&quot_id&quot : ObjectId(&quot5dd631f270fb13eec3963bef&quot),
&quotFirst_Name&quot : &quotFathima&quot,
&quotLast_Name&quot : &quotSheik&quot,
&quotAge&quot : &quot24&quot,
&quote_mail&quot : [email protected]&quot,
&quotphone&quot : &quot9000054321&quot
}متد find به همراه NOT:>db.COLLECTION_NAME.find(
{
$NOT: [
{key1: value1}, {key2:value2}
]
}
).pretty()مثال> db.empDetails.find( { &quotAge&quot: { $not: { $gt: &quot25&quot } } } )
{
&quot_id&quot : ObjectId(&quot5dd6636870fb13eec3963bf7&quot),
&quotFirst_Name&quot : &quotFathima&quot,
&quotLast_Name&quot : &quotSheik&quot,
&quotAge&quot : &quot24&quot,
&quote_mail&quot : [email protected]&quot,
&quotphone&quot : &quot9000054321&quot
}در MongoDB دو متد update و save جهت به روزرسانی داده های collection ها استفاده می شود.>db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA)مثال >db.mycol.update({‘title’:’MongoDB Overview’},{$set:{‘title’:’New MongoDB Tutorial’}})
WriteResult({ &quotnMatched&quot : 1, &quotnUpserted&quot : 0, &quotnModified&quot : 1 })نکته: به طور پیشفرض MongoDB ویرایش اطلاعات را روی یک document انجام می دهد. در صورتی که بحواهیم چندین document را ویرایش کنیم باید پارامتر multi را true ست کنیم.>db.mycol.update({‘title’:’MongoDB Overview’},
{$set:{‘title’:’New MongoDB Tutorial’}},{multi:true})این متد تنها یک document را update می کند.>db.COLLECTION_NAME.updateOne(<filter>, <update>)این متد همه document هایی که با شرط مطابق باشند را update می کند.>db.COLLECTION_NAME.update(<filter>, <update>)این متد document فعلی را با document ارسال شده جایگزین می کند.>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})مثال>db.mycol.save(
{
&quot_id&quot : ObjectId(&quot507f191e810c19729de860ea&quot),
&quottitle&quot:&quotTutorials Point New Topic&quot,
&quotby&quot:&quotTutorials Point&quot
}
)متد remove برای حذف یک document از collection در دسترس است.>db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)مثال>db.mycol.remove({‘title’:’MongoDB Overview’})نکته: برای حذف یک document مطابق با شرط از دستور زیر استفاده می شود:>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)نکته: برای حذف document های یک collection از دستور زیر استفاده می کنیم:> db.mycol.remove({})

Author: admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *