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

MongoDB Robomongo: collation is not a function ত্রুটি সমাধান

collation ফিচার MongoDB ৩.৪ ভার্সনে যোগ হয়েছিল। আপনি যদি পুরনো ভার্সনে (৩.৪ এর আগে) কোলেশন ব্যবহার করার চেষ্টা করেন, তবে collation is not a function ত্রুটি দেখা দেবে।

ভার্সন যাচাই

> db.version()
4.0.5

এই উদাহরণে MongoDB ৪.০.৫ ব্যবহার করা হয়েছে, যা কোলেশন সাপোর্ট করে।

নমুনা কালেকশন ও ইন্ডেক্স তৈরি

> db.collationExample.createIndex(
  { Value: 1 }, 
  { collation: { locale: "en", strength: 1 } }
);
{ "createdCollectionAutomatically": true, "numIndexesBefore": 1, "numIndexesAfter": 2, "ok": 1 }

> db.collationExample.insertOne({ 'Value': 'x' });
{ "acknowledged": true, "insertedId": ObjectId("5e038a3cf5e889d7a51994f5") }

> db.collationExample.insertOne({ 'Value': 'X' });
{ "acknowledged": true, "insertedId": ObjectId("5e038a48f5e889d7a51994f6") }

> db.collationExample.insertOne({ 'Value': 'Y' });
{ "acknowledged": true, "insertedId": ObjectId("5e038a49f5e889d7a51994f7") }

> db.collationExample.insertOne({ 'Value': 'a' });
{ "acknowledged": true, "insertedId": ObjectId("5e038a49f5e889d7a51994f8") }

> db.collationExample.insertOne({ 'Value': 'á' });
{ "acknowledged": true, "insertedId": ObjectId("5e038a4bf5e889d7a51994f9") }

সমস্ত ডকুমেন্ট প্রদর্শন

> db.collationExample.find().pretty();

আউটপুট:

{ "_id": ObjectId("5e038a3cf5e889d7a51994f5"), "Value": "x" }
{ "_id": ObjectId("5e038a48f5e889d7a51994f6"), "Value": "X" }
{ "_id": ObjectId("5e038a49f5e889d7a51994f7"), "Value": "Y" }
{ "_id": ObjectId("5e038a49f5e889d7a51994f8"), "Value": "a" }
{ "_id": ObjectId("5e038a4bf5e889d7a51994f9"), "Value": "á" }

কোলেশন ব্যবহার করে কোয়েরি

strength: 1 মানে শুধু বেস ক্যারেক্টার ম্যাচ (কেস এবং ডায়াক্রিটিক্স উপেক্ষা):

> db.collationExample.find({ Value: "a" } ).collation( { locale: "en", strength: 1 } );

ফলাফল

{ "_id": ObjectId("5e038a49f5e889d7a51994f8"), "Value": "a" }
{ "_id": ObjectId("5e038a4bf5e889d7a51994f9"), "Value": "á" }

ব্যাখ্যা: কোলেশন strength: 1 সেট করলে "a", "A", "á", "Á" সবই একসামান মনে হয়। Robomongo (Robo 3T) পুরনো ভার্সনে কোলেশন মেথড সাপোর্ট করে না। সমাধান: MongoDB এবং Robo 3T উভয়ই আপডেট করুন।

কোলেশন স্ট্র렝্থ লেভেল

  • 1: বেস ক্যারেক্টার মাত্র (কেস/ডায়াক্রিটিক্স উপেক্ষা)
  • 2: কেস সেনসিটিভ, ডায়াক্রিটিক্স উপেক্ষা
  • 3: কেস এবং ডায়াক্রিটিক্স দুটোই সেনসিটিভ (ডিফল্ট)
  1. Chrome-এ DirecTV Now কাজ না করার সমস্যা সমাধান

  2. উইন্ডোজ ১০-এ ফাংশন কী সমস্যা সমাধান: ধাপে ধাপে ফিক্স গাইড

  3. আইফোন ক্যালেন্ডার সিঙ্ক হচ্ছে না? ১১টি দ্রুত সমাধান

  4. আইফোন সেলুলার ডেটা সমস্যা সমাধান: ১১টি প্রমাণিত সমাধান