মংগোডিবি নথি কেন বৈধতা ব্যর্থ করছে তা আমি কীভাবে নির্ধারণ করব?


13

মংগোডিবি নথি সন্নিবেশ কেন বৈধতা ব্যর্থ হচ্ছে তা আমি কীভাবে নির্ধারণ করব? আমার ফিরে আসা সমস্তই হ'ল একটি লিখনেররার যা "ডকুমেন্টের ব্যর্থতা যাচাইকরণ" বলে, যা খুব সহায়ক নয়।

(এটি প্রায়শই ঘটে এবং আমি নির্দিষ্ট উদাহরণের সাহায্য চাইতে না করে এগুলি কীভাবে সঠিকভাবে ডিবাগ করব তা বুঝতে চাই))

উত্তর:


10

মঙ্গোডিবি ৩.২-তে যেমন নথির বৈধতা ব্যর্থ হয়েছে সে সম্পর্কে কোনও প্রতিক্রিয়া নেই: সামগ্রিক বৈধতা প্রকাশটি বর্তমানে সত্য ("ঠিক আছে") বা মিথ্যা ("দস্তাবেজের ব্যর্থতা বৈধতা") হিসাবে মূল্যায়ন করে। বৈধতা আচরণ validationAction(ত্রুটি / সতর্কতা) এবং validationLevel(কঠোর / মাঝারি / বন্ধ) কনফিগারেশন বিকল্পগুলির সাথে সামঞ্জস্য করা যেতে পারে , তবে এটি বৈধতা ব্যর্থতার জন্য আর কোনও প্রসঙ্গ সরবরাহ করে না।

আপনি যদি আরও বিশদ প্রতিক্রিয়া জানাতে চান, তবে প্রস্তাবিত পদ্ধতিটি হ'ল কেবলমাত্র সার্ভার-সাইড চেকগুলিতে নির্ভর করার পরিবর্তে আপনার অ্যাপ্লিকেশনটিতে বৈধতা যুক্তি যুক্ত করা উচিত। এমনকি সার্ভার-পার্শ্বের বৈধতা সহ, অনেকগুলি চেক অ্যাপ্লিকেশন ব্যবসার যুক্তিতে সর্বোত্তমভাবে করা হয় ডাটাবেস সার্ভারে রাউন্ড ট্রিপগুলি হ্রাস করতে এবং শেষ ব্যবহারকারীর আরও প্রতিক্রিয়াশীল প্রতিক্রিয়া সরবরাহ করতে।

উদাহরণস্বরূপ, কোনও ওয়েব অ্যাপ্লিকেশন (প্রয়োজনীয় ক্ষেত্র, ক্ষেত্রের ফর্ম্যাট, ...) ব্যবহারকারীর ইনপুট আপনার অ্যাপ্লিকেশনটিতে জমা দেওয়ার আগে বা ডাটাবেসে সন্নিবেশ / আপডেট করার চেষ্টা করার আগে ব্রাউজারে বৈধ হওয়া উচিত।

যাইহোক, ডেটার গুণমান এবং বৈধতা ব্যর্থতাগুলি নির্ধারণের জন্য কিছু প্রসঙ্গটি খুব কার্যকর হবে তা নিশ্চিত করার জন্য একাধিক স্তরে বৈধতা দেওয়ার কোনও অর্থ নেই। মঙ্গোডিবি ইস্যু ট্র্যাকারটিতে আপনি আপ / ভোট দেখতে পারেন এমন একটি প্রাসঙ্গিক উন্মুক্ত বৈশিষ্ট্য অনুরোধ রয়েছে: সার্ভার -20547: কোনও অপারেশন নথির বৈধতা ব্যর্থ হওয়ার কারণটি প্রকাশ করুন

আরও তথ্যের জন্য আপনি নথি বৈধকরণেও আগ্রহী হতে পারেন - পর্ব 1: আপনার ডকুমেন্টগুলির উপর নিয়ন্ত্রণের সঠিক পরিমাণ যুক্ত করা । এটি মোংগোডিবি ৩.২-এর মতো নথি বৈধতার কয়েকটি সাধারণ উপকারিতা এবং বিপরীতে হাইলাইট করেছে এবং এতে ফলাফল validationActionএবং validationLevelকনফিগারেশন বিকল্পগুলির উপর ভিত্তি করে ফলাফলের জন্য একটি রেফারেন্স সারণী অন্তর্ভুক্ত রয়েছে ।


2
ধন্যবাদ! অনুমান আমি এখানে কিছুই মিস করিনি। আমরা প্রকৃতপক্ষে আমাদের অ্যাপ্লিকেশনটিতে আমাদের বৈধতাটি বেশিরভাগ ক্ষেত্রেই করি, তবে আমরা মংডোডিবি যাচাইকারী হিসাবে নিম্ন-স্তরের চেকগুলি রেখে যাই, বেশিরভাগ ক্ষেত্রে আমাদের সফ্টওয়্যার ইঞ্জিনিয়াররা (এবং আমি) উত্পাদনের ক্ষেত্রে ব্যবহারকারীদের ত্রুটিগুলি অনুসন্ধানের পরিবর্তে উন্নয়নের সময় বাগ তৈরি করছে না তা নিশ্চিত করার জন্য। আমি জিরাকে ভোট দিয়েছি। চিয়ার্স!
জোনাথন হুইলার

সমস্যাটি হচ্ছে স্কিমা ফর্ম্যাটটি হ'ল "আধা-মানক" অর্থাৎ মঙ্গোডিবি এক্সটেনশনের সাথে, সুতরাং এখনও স্ট্যান্ডার্ড জেএসওএন স্কিমা ভ্যালিডিটার ব্যবহার করে কী কারণ তা খুঁজে পাওয়া শক্ত hard
হেন্ডি ইরওয়ান

1
@ হেন্ডি ইরাওয়ান হ্যাঁ, মোংগোডিবি ডেটা ধরণের জন্য জেএসএন স্কিমাতে কয়েকটি এক্সটেনশন রয়েছে যাতে কঠোর বৈধতার জন্য অতিরিক্ত ক্লায়েন্টের বৈধতা বা রূপান্তর প্রয়োজন। আমি mongo-schemerনোড.জেএস এর মতো কয়েকটি উদাহরণ দেখেছি যা এজেভিতে তৈরি হয় (অন্য জেএসওএন স্কিমা ভ্যালিডেটর)
স্টেনি

1

অবশ্যই আসল উত্তরটি সঠিক, ডিবিতে পৌঁছানোর আগে বৈধতা হ্যান্ডেল করা একেবারে সেরা অনুশীলন, তবে ব্যবহারিক বিষয় হিসাবে যদি আপনার এখনই ঠিক এটির পিছনে তাড়া করা দরকার হয়, আপনি অস্থায়ীভাবে স্কিমা থেকে বৈধতা সরিয়ে ফেলতে পারেন এবং তারপরে কী দেখায় তা দেখে সংগ্রহে আপ।

যদি কোনও ক্ষেত্রের প্রয়োজন হয় তবে এটি নিখোঁজ, খালি বা মিসপেন দেখায় অন্তত এটি আপনার অনুসন্ধানকে সঙ্কুচিত করে। যদি ডেটাটি ঠিক মনে হয়, স্কিমায় বর্ণিত বৈধতাগুলি একবার দেখুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.