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

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

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

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

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

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

নামকরণ

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

সংগ্রহ

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

ক্ষেত্র

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

নথিপত্র

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

_id

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

মূল্যবোধ

  • JavaScript, Symbol, DBPointer, এবং Undefined BSON প্রকার সমর্থিত নয়।

তারিখ

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

দশমিক 128

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

ডাবল

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

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

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

প্রশ্ন

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

সমষ্টি

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

লেখে

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

লেনদেন

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

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

উদ্বেগ পড়ুন

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

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

উদ্বেগ লিখুন

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

পছন্দ পড়ুন

  • শুধুমাত্র primary , primaryPreferred , primary_preferred , secondary_preferred , এবং nearest পঠিত উদ্বেগগুলি সমর্থিত৷

সূচক

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

ত্রুটি

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

কমান্ড

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

  • নিম্নলিখিত সারণীতে তালিকাভুক্ত নয় এমন কমান্ডগুলি অসমর্থিত।
  • 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 মিথ্যা হতে হবে।

এরপর কি