মঙ্গুজ-অনন্য-বৈধকরণকারী
এই প্লাগইনটি কীভাবে ব্যবহার করবেন:
1) এনপিএম ইনস্টল - সেভ মঙ্গুজ-অনন্য-বৈধকারী
2) আপনার স্কিমাতে এই গাইডটি অনুসরণ করুন:
var mongoose = require('mongoose');
var uniqueValidator = require('mongoose-unique-validator');
exampleSchema.plugin(uniqueValidator);
3) মঙ্গুজ পদ্ধতি
এই জাতীয় পদ্ধতি ব্যবহার করার সময় findOneAndUpdate
আপনাকে এই কনফিগারেশন অবজেক্টটি পাস করতে হবে:
{ runValidators: true, context: 'query' }
ie. User.findOneAndUpdate(
{ email: 'old-email@example.com' },
{ email: 'new-email@example.com' },
{ runValidators: true, context: 'query' },
function(err) {
}
4) অতিরিক্ত বিকল্প
সংবেদনশীল
আপনার স্কিমাতে অনন্য ক্যাসি সংবেদনশীল বিকল্পটি ব্যবহার করুন
ie. email: { type: String, index: true, unique: true, required: true, uniqueCaseInsensitive: true }
কাস্টম ত্রুটি বার্তা
ie. exampleSchema.plugin(uniqueValidator, { message: 'Error, expected {PATH} to be unique.' });
এখন আপনি মঙ্গো পুনরায় চালু করা, ডাটাবেসগুলি বাদ দেওয়া বা সূচী তৈরির চিন্তা না করে আপনার স্কিমায় অনন্য সম্পত্তি যুক্ত / মুছতে পারেন।
গুহাত (ডক্স থেকে):
যেহেতু আমরা ডাটাবেসে কোনও নথি উপস্থিত রয়েছে কিনা তা যাচাই করতে অ্যাসিঙ্ক অপারেশনের উপর নির্ভর করি, একই সাথে দুটি প্রশ্নের দুটি একই সাথে কার্যকর করা সম্ভব, উভয়ই 0 ফিরে আসে এবং তারপরে উভয়ই মঙ্গোডিবিতে প্রবেশ করানো সম্ভব।
সংগ্রহটি স্বয়ংক্রিয়ভাবে লক করা বা একক সংযোগ জোর করে বাইরে, এর আসল সমাধান নেই।
আমাদের বেশিরভাগ ব্যবহারকারীর ক্ষেত্রে এটি কোনও সমস্যা হবে না তবে এটি সচেতন হওয়ার একটি প্রান্তের বিষয়।