মঙ্গোডিবি সমস্ত সংগ্রহ থেকে সমস্ত সামগ্রী দেখায়


161

মঙ্গোডিবিতে সমস্ত সংগ্রহ এবং এর সামগ্রীগুলি প্রদর্শন করা কি সম্ভব?

একের পর এক দেখানোর উপায় কি?

উত্তর:


261

আপনি একবার টার্মিনাল / কমান্ড লাইনে পৌঁছে গেলে, আপনি নিম্নলিখিতভাবে ব্যবহার করতে চান এমন ডাটাবেস / সংগ্রহ অ্যাক্সেস করুন:

show dbs
use <db name>
show collections

আপনার সংগ্রহটি চয়ন করুন এবং সেই সংগ্রহের সমস্ত সামগ্রী দেখতে নিম্নলিখিত টাইপ করুন:

db.collectionName.find()

মঙ্গোডিবির দ্রুত রেফারেন্স গাইডে এখানে আরও তথ্য ।


দয়া করে এটিকে সঠিক উত্তর হিসাবে বর্ণনা করুন। আপনি কেবল সমস্ত লিখনের কোড সংগ্রহ করে সমস্ত সংগ্রহ থেকে সমস্ত বিষয়বস্তু দেখতে পারবেন,
ক্লায়েন্টের

18
আপনার কাছে উপস্থাপিত সংগ্রহটি যদি আপনার দৃষ্টিভঙ্গিভাবে পরিষ্কার করার প্রয়োজন হয় তবে আমিও প্রস্তাব দিই: db.collectionName.find().pretty()
স্টিভেন ভেন্টিমেগলিয়া

2
মনে রাখবেন সংগ্রহের নামে আপনার নির্দিষ্ট অক্ষর (হাইফেনের মতো) থাকলে এটি কাজ করে না। db["collection-name"].find()
সেক্ষেত্রে

126

পদক্ষেপ 1: আপনার সমস্ত ডাটাবেস দেখুন:

show dbs

পদক্ষেপ 2: ডাটাবেস নির্বাচন করুন

use your_database_name

পদক্ষেপ 3: সংগ্রহগুলি দেখান

show collections

এটি আপনার নির্বাচিত ডাটাবেসে সমস্ত সংকলন তালিকাভুক্ত করবে।

পদক্ষেপ 4: সমস্ত ডেটা দেখুন

db.collection_name.find() 

অথবা

db.collection_name.find().pretty()

3
আমি আমার ডিবি নামের সাথে ডিবি নামটি প্রতিস্থাপন করেছি, যা আমাকে ত্রুটি করে চলেছে। সুতরাং আমার মতো বোকা জিনিস করবেন না: ডি, db.<collection_name>.find();
লেগে থাকুন

33
var collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++){    
   print('Collection: ' + collections[i]); // print the name of each collection
   db.getCollection(collections[i]).find().forEach(printjson); //and then print the json of each of its elements
}

আমি মনে করি এই স্ক্রিপ্টটি আপনি যা চান তা পেতে পারে। এটি প্রতিটি সংগ্রহের নাম মুদ্রণ করে এবং তারপরে জসনতে এর উপাদানগুলি মুদ্রণ করে।


19

পদক্ষেপ 1: মঙ্গোডিবি শেলটিতে প্রবেশ করুন।

মোঙ্গো

পদক্ষেপ 2: সমস্ত ডাটাবেস প্রদর্শনের জন্য।

শো ডিবিএস;

পদক্ষেপ 3: একটি নির্বাচিত ডাটাবেসের জন্য:

'ডাটাবেস_নাম' ব্যবহার করুন

পদক্ষেপ 4: আপনার ডাটাবেসের পরিসংখ্যানগুলির জন্য।

db.stats ()

পদক্ষেপ 5: সমস্ত সংগ্রহের তালিকা (টেবিল)।

সংগ্রহগুলি দেখান

পদক্ষেপ:: নির্দিষ্ট সংগ্রহ থেকে ডেটা মুদ্রণ করুন।

db.'collection_name'.find ()। চমত্কার ()


9

কোয়েরিগুলির নীচে লেখার আগে প্রথমে আপনার সেন্টিমিডি বা পাওয়ারশেল এ প্রবেশ করুন

TYPE:
mongo             //To get into MongoDB shell
use <Your_dbName>      //For Creating or making use of existing db

সমস্ত সংগ্রহের নাম তালিকাভুক্ত করতে নীচের বিকল্পগুলি থেকে যে কোনও একটি ব্যবহার করুন: -

show collections  //output every collection
  OR
show tables
  OR
db.getCollectionNames() //shows all collections as a list

ব্রুনো_ফেরিরার দ্বারা পোস্ট করা নীচের তালিকাভুক্ত কোডের নীচে সমস্ত সংগ্রহের সামগ্রী বা ডেটা ব্যবহার দেখাতে।

var collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++) {    
   print('Collection: ' + collections[i]); // print the name of each collection
   db.getCollection(collections[i]).find().forEach(printjson); //and then print     the json of each of its elements
}

সেরা সমাধান, আমার সংগ্রহের সামগ্রীগুলি দেখায়!
jjwalces


4

এটি করবে:

db.getCollectionNames().forEach(c => {
    db[c].find().forEach(d => {
        print(c); 
        printjson(d)
    })
})

2

আপনি যদি ব্যবহার করেন তবে আমি অন্য পদ্ধতির পছন্দ করি mongo শেল :

প্রথমে অন্য জবাব হিসাবে: use my_database_nameতারপর:

db.getCollectionNames().map( (name) => ({[name]: db[name].find().toArray().length}) )

এই ক্যোয়ারী আপনাকে এরকম কিছু দেখাবে:

[
        {
                "agreements" : 60
        },
        {
                "libraries" : 45
        },
        {
                "templates" : 9
        },
        {
                "users" : 18
        }
]

আপনি এর সাথে অনুরূপ পদ্ধতির ব্যবহার করতে db.getCollectionInfos()পারেন আপনার কাছে এত বেশি ডেটা থাকলে বেশ কার্যকর।


count()পরিবর্তে ব্যবহার করুন find():db.getCollectionNames().map( (name) => ({[name]: db[name].count()}) )
হলমান 76
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.