কম্পিউটার টিউটোরিয়াল

MongoDB-এ ইউনিক স্পার্স ইন্ডেক্স তৈরি করা

MongoDB-এ ফিল্ডকে ইউনিক এবং স্পার্স (null ভ্যালু অনুমতি দেয়) ইন্ডেক্স করতে createIndex()-তে unique: true, sparse: true অপশন দিন। একটি কালেকশন তৈরি করুন:

> db.demo658.createIndex({FirstName:1},{unique:true,sparse:true});
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
> db.demo658.insertOne({"FirstName":"John","LastName":"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea067144deddd72997713d9") }
> db.demo658.insertOne({"FirstName":"Adam","LastName":"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea0671c4deddd72997713da") }
> db.demo658.insertOne({"FirstName":"John","LastName":"Doe"});
2020-04-22T21:17:46.072+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: onlinecustomertracker.demo658 index: FirstName_1 dup key: { : "John" }
...
> db.demo658.insertOne({_id:"Bob"});
{ "acknowledged" : true, "insertedId" : "Bob" }
> db.demo658.insertOne({_id:"Mike"});
{ "acknowledged" : true, "insertedId" : "Mike" }

find() দিয়ে ডকুমেন্ট দেখান:

> db.demo658.find();

আউটপুট (দ্বিতীয় "John" রিজেক্ট হয়েছে):

ব্যাখ্যা: unique: true ডুপ্লিকেট ভ্যালু ব্লক করে (E11000 এরর)। sparse: true নাল বা অনুপস্থিত ফিল্ড 가진 ডকুমেন্টকে ইন্ডেক্সে যোগ করে না, তাই একাধিক নাল ভ্যালু अलাউড। স্পার্স ছাড়া ইউনিক ইন্ডেক্সে শুধু একটা নাল অ্যালাউড থাকে।

  1. MongoDB-এ অ্যারেয়ে একক মান যোগ করার পদ্ধতি ($push)

  2. MongoDB-এ খালি ফিল্ড চেক করার পদ্ধতি

  3. MongoDB-তে createIndex() দিয়ে নেস্টেড ফিল্ডে ইন্ডেক্স তৈরি করা

  4. MongoDB-তে সব ডকুমেন্টে নতুন ফিল্ড যোগ করা ($addFields)