আমার বাশ প্রম্পট থেকে এটি করার সহজতম উপায় কী?
আমার বাশ প্রম্পট থেকে এটি করার সহজতম উপায় কী?
উত্তর:
এটার মত:
mongo <dbname> --eval "db.dropDatabase()"
কমান্ড লাইন থেকে শেলটি স্ক্রিপ্ট করার বিষয়ে আরও তথ্য: https://docs.mongodb.com/manual/tutorial/writ-scriptts-for-the-mongo-shell/#scriptting
mongo <dbname> --eval "printjson(db.dropDatabase())"
mongo <yourDb> --host <yourHost> --port <yourPort> --eval 'db.dropDatabase()'
এটি করার সর্বোত্তম উপায়টি মঙ্গডব কনসোল থেকে:
> use mydb;
> db.dropDatabase();
বিকল্পভাবে, আপনি mongod
আপনার ডেটা ডিরেক্টরি থেকে ডেটা ফাইলগুলি থামাতে এবং মুছতে পারেন , তারপরে পুনঃসূচনা করুন।
ইঙ্গিত: আপনি ডেটা ফাইলগুলিকে একটি সাবফোল্ডারে সরাতেও পারেন, এবং আপনি যদি তাদের আর প্রয়োজন না বলে নিশ্চিত হন সেগুলি মুছে ফেলতে পারেন।
use
জেনে রাখুন যে আপনি .js ফাইলে কমান্ড ব্যবহার করতে পারবেন না , আপনাকে কংক্রিট ডিবিতে সংযুক্ত করতে হবে (মঙ্গো কমান্ডের জন্য dbname নির্দিষ্ট করুন)
~/.dbshell
কমান্ডের ইতিহাস সাফ করার জন্য মঙ্গো শেল থেকে বেরিয়ে আপনার ফাইলটি মুছতে পারেন। (এটি করার আরও ভাল উপায় থাকতে পারে - আমি নিশ্চিত নই।) আমি এটি করলাম কারণ এসকিউএল এর বিপরীতে একটি ডাটাবেস ফেলে দেওয়ার জন্য মঙ্গো কমান্ড আসলে ডাটাবেসের নাম বাদ দিতে পারে না - এটি কেবল ড্রপস ফেলে দেয় ডাটাবেস যা ক্লায়েন্ট বর্তমানে সংযুক্ত আছে। আপনার কমান্ডের ইতিহাস সাফ করার ফলে আপনি ঘটনাক্রমে dropDatabase
কমান্ডটি পুনরায় প্লে করতে এবং অনিচ্ছাকৃতভাবে একটি দ্বিতীয় ডাটাবেস বাদ দিতে বাধা দেবেন।
আমি এটি মনে রাখা সহজ:
mongo //to start the mongodb shell
show dbs //to list existing databases
use <dbname> //the <dbname> is the database you'd like to drop
db //should show <dbname> just to be sure I'm working with the right database
db.dropDatabase() //will delete the database & return { "dropped" : "<dbname>", "ok" : 1 }
আপনার বংশগতি বা evভাল দরকার নেই , mongo
নিজেই একজন দোভাষী হিসাবে কাজ করতে পারেন।
#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();
ফাইলটি এক্সিকিউটেবল করুন এবং এটি চালান।
.js
, অন্যথায় এটি ডিবি ঠিকানা হিসাবে ব্যাখ্যা করা হবে।
mongo filename
যা অপ্রয়োজনীয় - ফাইলটির ইতিমধ্যে শীর্ষ লাইনে একটি দোভাষী রয়েছে। কেবল ফাইলটি এক্সিকিউটেবল করুন এবং এটি চালান./filename
./filename
আসলে কি চলবে /usr/bin/env mongo filename
, তাই না? এবং তাই যদি filename
শেষ না হয় .py
, মঙ্গো আর্গুমেন্টটি চালানোর জন্য একটি স্ক্রিপ্ট হিসাবে স্বীকৃতি দেবে না।
ps
। আউটপুট চেক ।
ps
আপনাকে কেবলমাত্র অনুরোধ করবে সেই সময়ে কী চলছে তা দেখায় ps
, exec
কলগুলির শৃঙ্খলা নয় যে কারনটি ফাইলটি লোড এবং চালনার জন্য কর্নেল যে কাজ করেছিল তা নয়। আপনি যদি সত্যিই কী চলছে তা জানতে চান, আপনার চারপাশে একটি মোড়ক লেখার ব্যবহার করা উচিত /usr/bin/env
, এটি শেবাং লাইনে এক্সিকিউটেবল হিসাবে সেট করুন এবং তারপরে পুরো জিনিসটি বন্ধ করে দিন strace
।
আপনি "বংশগত" ব্যবহার করতে পারেন:
mongo localhost/db <<EOF
db.dropDatabase()
EOF
ফলাফলের ফলাফল যেমন:
mongo localhost/db <<EOF
db.dropDatabase()
EOF
MongoDB shell version: 2.2.2
connecting to: localhost/db
{ "dropped" : "db", "ok" : 1 }
bye
আপনি যদি আদেশের আরও জটিল ক্রম চান তবে আমি এই জাতীয় জিনিসের জন্য হেরিডোক ব্যবহার করতে চাই।
অন্য মাধ্যম:
echo "db.dropDatabase()" | mongo <database name>
মঙ্গো শেল ব্যবহার করে এখানে কিছু মোডোডবের জন্য সম্পূর্ণ মুছুন অপারেশনগুলি ব্যবহার করা হচ্ছে
করার বিশেষ দস্তাবেজ মুছুন সংগ্রহে:db.mycollection.remove( {name:"stack"} )
করার সব কাগজপত্র মুছতে সংগ্রহে: db.mycollection.remove()
করতে ডিলিট সংগ্রহ : db.mycollection.drop()
থেকে ডিলিট ডাটাবেসের : প্রথম যে ডাটাবেসের সাথে যেতে use mydb
কমান্ড এবং তারপর
db.dropDatabase()
সরাসরি কমান্ড প্রম্পট বা ব্লেশ থেকে: mongo mydb --eval "db.dropDatabase()
টার্মিনালে চালিত করুন:
mongo // To go to shell
show databases // To show all existing databases.
use <DATA_BASE> // To switch to the wanted database.
db.dropDatabase() // To remove the current database.
অন্য একটি টার্মিনাল উইন্ডো খুলুন এবং নিম্নলিখিত কমান্ডগুলি কার্যকর করুন,
mongodb
use mydb
db.dropDatabase()
অপারেশনটির ফলাফল নিম্নলিখিতগুলির মতো দেখাবে
MAC:FOLDER USER$ mongodb
> show databases
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
> use mydb
switched to db mydb
>db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }
>
দয়া করে নোট করুন যে mydb
এখনও অবধি ব্যবহৃত, অতএব যে কোনও ইনপুট tingোকানো পুনরায় ডাটাবেস শুরু করবে initial
বেশ কয়েকটি পদ্ধতি রয়েছে, সর্বোত্তম উপায় (সবচেয়ে দক্ষ এবং সহজতম) ব্যবহার করা হচ্ছে db.dropDatabase()
আপনার কমান্ড প্রম্পটে, প্রথমে নিম্নলিখিত কমান্ডটি ব্যবহার করে মঙ্গদ্ব্বের সাথে সংযুক্ত করুন:
mongo -h [host-name]:[port:number] -d [dbname] -u [username] -p [password]
আপনি ডিবি দিয়ে অ্যাক্সেস করা হবে <dbname>
।
পুরো ডাটাবেস ড্রপ করতে নিম্নলিখিত কমান্ডটি চালান:
db.dropDatabase()
একটি লাইনার রিমোট মঙ্গো ডাটাবেস থেকে সমস্ত সংগ্রহ সরিয়ে দেয়
নোটটিতে অবশ্যই --host ব্যবহার করা উচিত, (-h মঙ্গো কমান্ডের জন্য সহায়তা), এবং -d কোনও বিকল্প নয়, পাসওয়ার্ডের পরে db এবং কমান্ড নির্বাচন করুন।
mongo --host <mongo_host>:<mongo_port> -u <db_user> -p <db_pass> <your_db> --eval "db.dropDatabase()"
আপনার মঙ্গোডিবি কমান্ড লাইনে লগইন করুন: এবং নীচের কমান্ডগুলি টাইপ করুন। "YOUR_DATABASE_NAME" ব্যবহার করুন; db.dropDatabase ();
পাইথন ব্যবহার করে একটি মঙ্গোডিবি ডাটাবেস ফেলে দিন:
import argparse
import pymongo
if __name__ == "__main__":
"""
Drop a Database.
"""
parser = argparse.ArgumentParser()
parser.add_argument("--host", default='mongodb://localhost:27017',
help="mongodb URI [default: %(default)s]")
parser.add_argument("--database", default=None,
help="database name: %(default)s]")
args = parser.parse_args()
client = pymongo.MongoClient(host=args.host)
if args.database in client.list_database_names():
client.drop_database(args.database)
print(f"Dropped: '{args.database}'")
else:
print(f"Database '{args.database}' does not exist")
ডিবি ড্রপ করতে মঙ্গো শেল থেকে নিম্নলিখিত কমান্ডটি ব্যবহার করুন
ব্যবহার; db.dropDatabase ();
> use auth-users ; db.dropDatabase()
এবং > use auth-users; db.dropDatabase()
এবং উভয় ফিরে[thread1] Error: [auth-users ; db.dropD atabase()] is not a valid database name :