আচরণের পার্থক্য

শুধুমাত্র ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের জন্য প্রাসঙ্গিক।

এই পৃষ্ঠাটি MongoDB সামঞ্জস্যপূর্ণ ক্লাউড ফায়ারস্টোর এবং MongoDB-এর মধ্যে আচরণগত পার্থক্য বর্ণনা করে।

MongoDB সংস্করণের উপর নির্ভর করে সমর্থিত বৈশিষ্ট্যগুলির একটি তালিকার জন্য, দেখুন:

সংযোগ এবং ডাটাবেস

  • প্রতিটি সংযোগ MongoDB সামঞ্জস্যপূর্ণ ডাটাবেস সহ একটি একক ক্লাউড ফায়ারস্টোরের মধ্যে সীমাবদ্ধ।
  • একটি ডাটাবেসের সাথে সংযোগ স্থাপনের আগে এটি তৈরি করতে হবে।

নামকরণ

আপনার ডেটা মডেলের অংশগুলির নামকরণের ক্ষেত্রে নিম্নলিখিত পার্থক্যগুলি প্রযোজ্য।

সংগ্রহ

  • __.*__ এর সাথে মিলে যাওয়া সংগ্রহের নামগুলি সমর্থিত নয়।

ক্ষেত্র

  • __.*__ এর সাথে মিলে যাওয়া ক্ষেত্রের নাম সমর্থিত নয়।
  • খালি ক্ষেত্রের নাম সমর্থিত নয়।

কাগজপত্র

  • ডকুমেন্টের সর্বোচ্চ আকার 4 MiB।
  • ক্ষেত্রের সর্বোচ্চ নেস্টিং গভীরতা হল ২০। প্রতিটি অ্যারে এবং অবজেক্ট-টাইপ করা ক্ষেত্র সামগ্রিক গভীরতায় একটি স্তর যোগ করে।

_id

  • ডকুমেন্ট _id (শীর্ষ-স্তরের ক্ষেত্র) অবশ্যই একটি ObjectId, String, অথবা 64-বিট পূর্ণসংখ্যা হতে হবে। অন্যান্য BSON প্রকার সমর্থিত নয়।
  • খালি স্ট্রিং ("") এবং 64-বিট 0 (0L) সমর্থিত নয়।

মূল্যবোধ

  • জাভাস্ক্রিপ্ট, প্রতীক, ডিবিপয়েন্টার এবং অনির্ধারিত BSON প্রকারগুলি সমর্থিত নয়।

তারিখ

  • তারিখের মান অবশ্যই [0001-01-01T00:00:00Z, 9999-12-31T23:59:59Z] এর মধ্যে পড়তে হবে।

দশমিক ১২৮

  • NaN , ধনাত্মক অসীমতা, এবং ঋণাত্মক অসীমতা মানগুলি লেখার ক্ষেত্রে ক্যানোনিকালাইজ করা হয়।
  • Decimal128-এ পাটিগণিতের ক্রিয়াকলাপ সমর্থিত নয়।

দ্বিগুণ

  • লেখার ক্ষেত্রে NaN মানগুলি ক্যানোনিকালাইজ করা হয়।

নিয়মিত অভিব্যক্তি

  • নিয়মিত অভিব্যক্তির বিকল্পগুলি অবশ্যই বৈধ ("i", "m", "s", "u", অথবা "x") হতে হবে এবং পুনরাবৃত্তি ছাড়াই বর্ণানুক্রমিক ক্রমে প্রদান করতে হবে।

প্রশ্ন

  • স্বাভাবিক সাজানোর ক্রম (স্পষ্ট সাজানো ছাড়া প্রশ্ন) সন্নিবেশ ক্রম বা _id ঊর্ধ্বক্রম অনুসারে ক্রমের সাথে মেলে না।

সমষ্টি

  • সমষ্টি 250টি পর্যায়ে সীমাবদ্ধ।
  • $merge এবং $out পর্যায়গুলি সমর্থিত নয়। সমর্থিত পর্যায় এবং অপারেটরগুলির সম্পূর্ণ তালিকার জন্য কমান্ড বিভাগটি দেখুন।
  • $lookup পর্যায়টি let এবং pipeline ক্ষেত্রগুলিকে সমর্থন করে না।

লেখেন

  • ডলার চিহ্ন ("$") দিয়ে শুরু হওয়া নামের ডকুমেন্টগুলি update অথবা findAndModify এর আপসার্ট বৈশিষ্ট্য ব্যবহার করে তৈরি করা যাবে না।
  • আপনার সংযোগ স্ট্রিংয়ে retryWrites=false আছে কিনা তা নিশ্চিত করুন (অথবা আপনার ড্রাইভারের জন্য উপযুক্ত পদ্ধতি ব্যবহার করুন) যাতে ড্রাইভার এই বৈশিষ্ট্যটি ব্যবহার করার চেষ্টা না করে। পুনঃচেষ্টাযোগ্য লেখা সমর্থিত নয়।

লেনদেন

  • স্ন্যাপশট আইসোলেশন এবং সিরিয়ালাইজেবল লেনদেন সমর্থিত।

  • ডিফল্টরূপে, লেনদেনগুলি স্ন্যাপশট আইসোলেশন সহ আশাবাদী কনকারেন্সি নিয়ন্ত্রণ ব্যবহার করে।

উদ্বেগ পড়ুন

  • MongoDB সামঞ্জস্য সহ ক্লাউড ফায়ারস্টোর snapshot , majority এবং linearizable রিড কনসার্ন সমর্থন করে। ডিফল্ট হল snapshot যা স্ন্যাপশট আইসোলেশনকে বোঝায়।

    যখন অ্যাপ্লিকেশনটির জন্য কঠোর ধারাবাহিকতার প্রয়োজন হয় এবং লেখার স্কিউ অসঙ্গতি রোধ করতে হয় তখন linearizable ব্যবহার করুন। অন্যান্য কাজের চাপের জন্য, snapshot কর্মক্ষমতা উন্নত করতে পারে এবং লেনদেনের বিরোধ কমাতে পারে।

উদ্বেগের বিষয় লিখুন

  • শুধুমাত্র w: 'majority' এবং w: 1 লেখার উদ্বেগ সমর্থিত।

পছন্দ পড়ুন

  • শুধুমাত্র primary , primaryPreferred , primary_preferred , secondary_preferred , এবং nearest read concerns সমর্থিত।

সূচী

  • ওয়াইল্ডকার্ড সূচী সমর্থিত নয়।
  • MongoDB সামঞ্জস্যপূর্ণ ক্লাউড ফায়ারস্টোর স্বয়ংক্রিয়ভাবে _id তে একটি সূচক তৈরি করে না, তবে এটি নিশ্চিত করে যে _id এর মানগুলি একটি সংগ্রহের মধ্যে অনন্য।
  • মাল্টি-কি সক্ষম না থাকা সূচীগুলি লেখার ক্রিয়াকলাপের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে মাল্টি-কি সূচীতে পরিবর্তিত হয় না। সূচী তৈরি করার সময় আপনাকে মাল্টি-কি সক্ষম করতে হবে এবং বিকল্পটি পরিবর্তন করা যাবে না।

ত্রুটি

  • MongoDB সামঞ্জস্যপূর্ণ ক্লাউড ফায়ারস্টোর এবং MongoDB-এর মধ্যে ত্রুটি কোড এবং বার্তা ভিন্ন হতে পারে।

কমান্ড

নিম্নলিখিত আচরণগত পার্থক্যগুলি নির্দিষ্ট কমান্ডের ক্ষেত্রে প্রযোজ্য।

  • নিম্নলিখিত টেবিলে তালিকাভুক্ত নয় এমন কমান্ডগুলি অসমর্থিত।
  • maxTimeMS বেশিরভাগ কমান্ড দ্বারা গৃহীত হয় কিন্তু উপেক্ষা করা যেতে পারে।

প্রশ্ন এবং লেখা

কমান্ড অসমর্থিত ক্ষেত্রগুলি

find

  • comment
  • readConcern
  • max
  • min
  • returnKey
  • showRecordId
  • tailable
  • oplogReplay
  • noCursorTimeout
  • awaitData
  • allowPartialResults
  • collation
  • allowDiskUsage
  • let

aggregate

  • bypassDocumentValidation
  • readConcern
  • collation
  • hint
  • comment
  • let

insert

  • bypassDocumentValidation
  • comment

update

  • collation
  • arrayFilters
  • hint

delete

  • comment
  • write

একটি ডিলিট স্টেটমেন্টের মধ্যে:

  • collation
  • hint

findAndModify

  • fields
  • bypassDocumentValidation
  • collation
  • arrayFilters
  • hint
  • comment
  • let

count

  • hint
  • readConcern
  • collation
  • comment

distinct

  • readConcern
  • collation
  • comment
  • hint

getMore

  • comment

killCursors

(কোনটিই নয়)

লেনদেন এবং সেশন

কমান্ড অসমর্থিত ক্ষেত্রগুলি

commitTransaction

  • comment

abortTransaction

  • comment

endSessions

(কোনটিই নয়)

প্রশাসন

কমান্ড অসমর্থিত ক্ষেত্রগুলি মন্তব্য

listDatabases

  • authorizedDatabases
  • comment
যদি filter থাকে তবে তা অবশ্যই খালি থাকতে হবে।

listCollections

  • comment
যদি authorizedCollections প্রদান করা হয়, তাহলে অবশ্যই মিথ্যা হতে হবে।

listIndexes

  • comment

createCollection

  • timeseries
  • expireAfterSeconds
  • clusteredIndex
  • changeStreamPreAndPostImages
  • size
  • max
  • storageEngine
  • validator
  • validationLevel
  • validationAction
  • indexOptionDefaults
  • viewOn
  • pipeline
  • collation
  • writeConcern
  • encryptedFields
  • comment
এই কমান্ডটি একটি নো-অপ।

যদি দেওয়া থাকে, তাহলে capped অবশ্যই মিথ্যা হতে হবে।

এরপর কি?