মঙ্গোডিবি শেলটিতে, আমি যে বর্তমান ডাটাবেসটি ব্যবহার করছি তার জন্য আমি কীভাবে সমস্ত সংগ্রহের তালিকা করব?
মঙ্গোডিবি শেলটিতে, আমি যে বর্তমান ডাটাবেসটি ব্যবহার করছি তার জন্য আমি কীভাবে সমস্ত সংগ্রহের তালিকা করব?
উত্তর:
আপনি করতে পারেন...
জাভাস্ক্রিপ্ট (শেল):
db.getCollectionNames()
node.js:
db.listCollections()
নন-জাভাস্ক্রিপ্ট (কেবল শেল):
show collections
আমি যে জাভাস্ক্রিপ্ট কল না কারণ কারণ:
$ mongo prodmongo/app --eval "show collections"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
2016-10-26T19:34:34.886-0400 E QUERY [thread1] SyntaxError: missing ; before statement @(shell eval):1:5
$ mongo prodmongo/app --eval "db.getCollectionNames()"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
[
"Profiles",
"Unit_Info"
]
আপনি যদি সত্যিই সেই মিষ্টি, মিষ্টি show collectionsআউটপুট করতে চান তবে আপনি এটি করতে পারেন:
$ mongo prodmongo/app --eval "db.getCollectionNames().join('\n')"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
Profiles
Unit_Info
db.listCollections()উত্তরটি এখানে প্রদর্শিত এবং সবুজতে পরীক্ষা করা হিসাবে দয়া করে পেতে পারি ? অন্যথায় লোকেরা একই উত্তর দিচ্ছে যখন আমি এই উত্তরটিতে আসি তখন আমি অসংখ্যবার করেছি - এবং ব্যবহারের চেষ্টা করেছি db.getCollectionNamesএবং ত্রুটি ফিরে আসবে db.collectionNames is not a function।
db.getCollectionNames()শেলটির জন্য এখনও সঠিক উত্তর।
> show collections
কমান্ড লাইন সহায়তা ( help) তে বর্ণিত হিসাবে বর্তমানে নির্বাচিত ডিবিতে সমস্ত সংগ্রহের তালিকা তৈরি করবে ।
content 1145.586MB / 1506.855MBউদাহরণ স্বরূপ.
আমি যে বর্তমান ডাটাবেসটি ব্যবহার করছি তার জন্য আমি কীভাবে সমস্ত সংগ্রহের তালিকা করব?
show collectionsshow tablesdb.getCollectionNames()show dbs
use databasename
show collections
আউটপুট:
collection1 collection2 system.indexes
(বা)
show tables
আউটপুট:
collection1 collection2 system.indexes
(বা)
db.getCollectionNames()
আউটপুট:
[ "collection1", "collection2", "system.indexes" ]
use collectionname
show tablesসম্পর্কিত একটি ডিবিএমএস ব্যাকগ্রাউন্ড থেকে আসা যারা তাদের জন্য বেশ সহায়ক for
useডাটাবেস ব্যবহার করা, সংগ্রহের সাথে কিছুই করার নেই
> show tables
এটি ক্যামেরনের উত্তর হিসাবে একই ফলাফল দেয়।
অন্যান্য ব্যক্তিদের দ্বারা প্রস্তাবিত বিকল্পগুলি ছাড়াও:
show collections // Output every collection
show tables
db.getCollectionNames() // Shows all collections as a list
আরও একটি উপায় রয়েছে যা আপনি কীভাবে সংগ্রহগুলি তৈরির প্রতিটি জানতে পারেন তা উদাহরণস্বরূপ কার্যকর হতে পারে (উদাহরণস্বরূপ, এটি একটি নির্দিষ্ট আকারের সাথে আবদ্ধ সংগ্রহ):
db.system.namespaces.find()
এর ভিতরে সমস্ত সংগ্রহ / সারণী দেখানোর জন্য আপনাকে প্রথমে একটি ডাটাবেস ব্যবহার করতে হবে।
>show dbs
users 0.56787GB
test (empty)
>db.test.help() // this will give you all the function which can be used with this db
>use users
>show tables //will show all the collection in the db
আপনি ব্যবহার করতে পারেন show tablesবা show collections।
চেষ্টা করুন:
help // To show all help methods
show dbs // To show all dbs
use dbname // To select your db
show collections // To show all collections in selected db
মঙ্গোডিবি ডাটাবেসের সমস্ত সংগ্রহ প্রদর্শন করার জন্য ব্যবহৃত কমান্ডটি
show collections
show collectionsকমান্ডটি চালানোর আগে আপনাকে ডাটাবেসটি নির্বাচন করতে হবে:
use mydb // mydb is the name of the database being selected
সমস্ত ডাটাবেস দেখতে, আপনি কমান্ডটি ব্যবহার করতে পারেন
show dbs // Shows all the database names present
আরও তথ্যের জন্য, শুরু করা দেখুন দেখুন ।
আপনি যদি মঙ্গোডিবি শেল (কমান্ড লাইন) থেকে সমস্ত সংগ্রহ দেখাতে চান তবে শেল সহায়ক ব্যবহার করুন,
show collections
যা বর্তমান ডাটাবেসের জন্য সমস্ত সংগ্রহ দেখায়। আপনি যদি নিজের অ্যাপ্লিকেশন থেকে সমস্ত সংগ্রহের তালিকা পেতে চান তবে আপনি মঙ্গোডিবি ডাটাবেস পদ্ধতিটি ব্যবহার করতে পারেন
db.getCollectionNames()
মঙ্গোডিবি শেল সহায়ক সম্পর্কে আরও তথ্যের জন্য, আপনি mongoশেল কুইক রেফারেন্স দেখতে পারেন ।
মঙ্গোশেলে নিম্নলিখিত কমান্ডগুলি সাধারণ।
show databases
show collections
এছাড়াও,
show dbs
use mydb
db.getCollectionNames()
কখনও কখনও এটি সমস্ত সংগ্রহের পাশাপাশি সামগ্রিক নেমস্পেসের অংশ যা সংগ্রহের সূচীগুলি দেখতে দরকারী:
আপনি এটি কীভাবে করবেন তা এখানে:
db.getCollectionNames().forEach(function(collection) {
indexes = db[collection].getIndexes();
print("Indexes for " + collection + ":");
printjson(indexes);
});
তিনটি কমান্ড এবং এই স্নিপেটের মধ্যে, আপনার ভাল coveredেকে রাখা উচিত!
আমি মনে করি যে সবচেয়ে বড় বিভ্রান্তির একটি হ'ল আপনি mongo(বা একটি ইন্টারেক্টিভ / হাইব্রিড শেল) বনাম mongo --eval(বা একটি খাঁটি জাভাস্ক্রিপ্ট শেল) দিয়ে যা করতে পারেন তার মধ্যে পার্থক্য । আমি এই সহায়ক ডকুমেন্টগুলি হাতে রাখি:
এখানে স্ক্রিপ্ট করার একটি উদাহরণ যা আপনি অন্যথায় showকমান্ড দিয়ে করতে পারেন :
# List all databases and the collections in them
mongo --eval "
db.getMongo().getDBNames().forEach(
function(v, i){
print(
v + '\n\t' +
db.getSiblingDB(v).getCollectionNames().join('\n\t')
)
}
)
"
দ্রষ্টব্য: এটি ওয়ান-লাইনারের মতো কাজ করে। (তবে স্ট্যাক ওভারফ্লোতে এটি ভয়ানক দেখাচ্ছে looks)
mongo --eval "db.getMongo().getDBNames().forEach(function(v, i){print(v+'\n\t'+db.getSiblingDB(v).getCollectionNames().join('\n\t'))})"
>> ২.x এ, আপনি করতে পারেন
db.listCollections()
1.x এ আপনি করতে পারেন
db.getCollectionNames()
db.getCollectionNames()করি তখনই পাই [ "users" ]কারণ আমার ব্যবহারকারীর সংগ্রহ রয়েছে। যদি আমি চেষ্টা করি db.listCollections()তবে এর ফলাফল হয়[thread1] TypeError: db.listCollections is not a function : @(shell):1:1
mongoশেল থেকে সমস্ত সংগ্রহের তালিকা :
- db.getCollectionNames ()
- সংগ্রহগুলি দেখান
- টেবিল প্রদর্শন করুন
দ্রষ্টব্য: সংগ্রহ আপনি বর্তমান ডাটাবেস থেকে প্রদর্শিত হবে যেখানে আপনি বর্তমানে আছেন
ডাটাবেসে স্যুইচ করার জন্য।
দ্বারা:
{আপনার_ড্যাটাইবস_নাম} উদাহরণ ব্যবহার করুন :
use friends
কোথায় friendsআপনার ডাটাবেসের নাম ?
তারপর লিখ:
db.getCollectionNames()
show collections
এটি আপনাকে সংগ্রহের নাম দেবে।
> show dbs
anuradhfirst 0.000GB
local 0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
mongo । এটি সংযোগ শুরু করবে।show dbsকমান্ড রান করুন । এটি আপনাকে সমস্ত উপস্থিত / উপলভ্য ডাটাবেস দেখিয়ে দেবে।databaseআপনি যা চান তা নির্বাচন করুন । উপরের দিকে এটি হয় anuradhfirst। তারপরে দৌড়াও use anuradhfirst। এটি আপনার পছন্দসই ডাটাবেসে স্যুইচ করবে।show collectionsকমান্ড রান করুন । এটি collectionsআপনার নির্বাচিত ডাটাবেসের অভ্যন্তরের সমস্ত দেখায় ।সংগ্রহগুলি দেখান
আপনি ডাটাবেসে স্যুইচ করার পরে এই কমান্ডটি সাধারণত মঙ্গোডিবি শেলটিতে কাজ করে।
মোংডোডিবি 3.0 ওয়্যারটেড টাইগার স্টোরেজ ইঞ্জিন ব্যবহার করে মোতায়েন করার জন্য, আপনি যদি
db.getCollectionNames()3.0 এর আগে মঙ্গো শেলের কোনও সংস্করণ বা 3.0 সামঞ্জস্যপূর্ণ সংস্করণের পূর্বে ড্রাইভারের কোনও সংস্করণ থেকে চালনা করেনdb.getCollectionNames()তবে বিদ্যমান সংগ্রহ থাকলেও কোনও তথ্য ফেরত পাবেন না।
আরও তথ্যের জন্য, দয়া করে এটি দেখুন ।
show collections
অথবা
show tables
অথবা
db.getCollectionNames();
আমি listCollectionsএই উদ্দেশ্যে (মোঙ্গোডিবি 3.0 এবং আরও সমর্থন করে) ব্যবহার করি।
উদাহরণ:
db.runCommand({ listCollections: 1, filter: {}, nameOnly: true });
সংগ্রহের সূচকের মতো আরও তথ্য আনতে:
db.runCommand({ listCollections: 1, filter: {}, nameOnly: false });
কেবল সংগ্রহের নামগুলি মুদ্রণ করতে:
db.runCommand({ listCollections: 1, filter: {}, nameOnly: true }).cursor.firstBatch.forEach(v => {print(v.name)})
আমি মনে করি এটি আরও নমনীয়তা সরবরাহ করে।
আরও পড়ুন: তালিকা সংগ্রহ
1. show collections; // Display all collections
2. show tables // Display all collections
3. db.getCollectionNames(); // Return array of collection. Example :[ "orders", "system.profile" ]
প্রতিটি সংগ্রহের জন্য বিশদ তথ্য:
db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
অনুসন্ধানের স্ট্রিংয়ের উপর ভিত্তি করে সংগ্রহের তালিকা তৈরি করতে।
db.getCollectionNames().filter(function (CollectionName) { return /<Search String>/.test(CollectionName) })
উদাহরণ: নামে "আমদানি" থাকা সমস্ত সংগ্রহ সন্ধান করুন
db.getCollectionNames().filter(function (CollectionName) { return /import/.test(CollectionName) })
mongoশেল থেকে নিম্নলিখিত কমান্ডটি ব্যবহার করুন :
show collections