ข้อผิดพลาด mongorestore: ไม่ทราบว่าจะทำอย่างไรกับไฟล์ดัมพ์ [ปิด]


121

ฉันมี Mongo DB c:\mongodb\binติดตั้งในเส้นทางต่อไปนี้ ฉันได้กำหนดค่า PATH ตัวแปรสภาพแวดล้อมของฉันในการตั้งค่าขั้นสูงฉันยังใช้ mongod อยู่เมื่อฉันรันคำสั่งmongorestore ดัมพ์คำสั่งต่อไปนี้จากพา ธ ต่อไปนี้c:\hw1-1\dump(ซึ่งมีไฟล์ BSON) ฉันได้รับข้อผิดพลาดนี้:

ไม่ทราบว่าจะทำอย่างไรกับไฟล์ดัมพ์

ฉันได้อ้างถึงชุดข้อความนี้เพื่อตรวจสอบเส้นทางของฉัน


คำตอบทั้งหมดแตกต่างกันเนื่องจากข้อผิดพลาดทั้งหมดนี้หมายความว่าแฟล็กบางส่วนของคุณไม่ถูกต้อง แฟล็กใดไม่ถูกต้องจะขึ้นอยู่กับสิ่งที่คุณกู้คืนและตำแหน่งที่คุณกู้คืน ใช้mongodump --helpเพื่อรับรายการแฟล็กปัจจุบันบนอินสแตนซ์ของคุณเพื่อแก้ไขปัญหานี้
Liam

คำตอบ:


279

ใน mongodb 3.0 ขึ้นไปเราควรระบุชื่อฐานข้อมูลที่จะกู้คืน

mongorestore -d [your_db_name] [your_dump_dir]

ฉันใช้ windows เวอร์ชัน 3.0.3 และระบุชื่อฐานข้อมูลเพื่อฉันขอบคุณ @clevertension
Sotiris Zegiannis

ทำงานอย่างมีเสน่ห์บน 3.0.6 ด้วย
sharmaap

นี่คือปัญหาที่ฉันพบหลังจากอัปเกรดmongodb-toolsขอบคุณ!
emyller

2
สิ่งนี้ใช้ได้ผลสำหรับฉันโดยใช้การรับรองความถูกต้องดังนี้:mongorestore -u k00k -p 1337p455w0rd -d mydb ./dump/mydb
k00k

นี่เป็นคำตอบเก่า ๆ ในเวอร์ชันที่ใหม่กว่าคุณไม่สามารถระบุพารามิเตอร์--db( -d) ได้ในหลาย ๆ กรณี นี่คือวิธีที่ฉันเรียกคืนในปัจจุบัน: นอกจากนี้mongorestore --nsFrom=fromdbname.* --nsTo=todbname.* yourdumpfolder/เมื่อคุณใช้ gzip คุณต้องระบุ--gzipพารามิเตอร์และหากคุณต้องการลบล้างสิ่งต่างๆคุณสามารถเพิ่ม--dropพารามิเตอร์ได้
Jos

36

คุณอาจเห็นข้อผิดพลาดนี้:

ข้อผิดพลาด: ไม่รู้จะทำอย่างไรกับไฟล์ [ดัมพ์]

ซึ่งหมายความว่าในกรณีนี้ไม่มีไฟล์หรือไดเร็กทอรีที่เรียกdumpในไดเร็กทอรีการทำงานปัจจุบันของคุณ ลองสิ่งนี้ก่อนcd c:/hw1-1/(หรือไวยากรณ์ที่ถูกต้องใด ๆ บน Windows ฉันไม่สามารถทดสอบได้) หรือคุณสามารถระบุเส้นทางแบบเต็มไปยังdumpไดเร็กทอรี:

mongorestore c:/hw1-1/dump

ขอบคุณ c: / hw1-1 mongorestore dump ทำงานได้ดี ..
Prasanna Aarthi

9

หากคุณใช้mongoexportสร้างดัมพ์อย่าลืมใช้mongoimportแทนmongorestoreการโหลด


mongoexportใช่นี้เป็นมายากลไม้เรียวสำหรับผมตั้งแต่ผมใช้ tnx
SyCode

5

ข้อความแสดงข้อผิดพลาด "ไม่รู้จะทำอย่างไรกับไฟล์" นี้อาจเกิดขึ้นได้หากคุณมีไฟล์ BSON ที่ไม่มีนามสกุลไฟล์. bson

โดยทั่วไปนี่ไม่ใช่ปัญหาเนื่องจากmongodumpสร้างไฟล์ที่มีนามสกุล. bson แต่ในกรณีของฉันฉันมีไฟล์ BSON ที่ไม่ได้สร้างขึ้นmongodumpและมีนามสกุลไฟล์อื่น


2
และคุณจะกู้คืนไฟล์ที่ไม่มีนามสกุล. bson ได้อย่างไร? (.rdb ในกรณีของฉัน)
eagor

ฉันได้รับข้อผิดพลาดนี้ไม่ช่วยเหลือเกี่ยวกับไฟล์ที่มี.bsonนามสกุล:don't know what to do with file "dump/mydb/users.bson", skipping...
แดนดาสคเลสุ

2

ฉันอยู่version 3.2 windowsและmongorestoreดูเหมือนว่าจะมีข้อบกพร่อง:

หากฉันระบุ/db:database_nameหรือ/d database_nameฉันได้รับข้อผิดพลาด:

don't know what to do with subdirectory "dump\database_name", skipping...

แต่ถ้าฉันปล่อยให้มันทำงานบนไดเร็กทอรีดัมพ์ทั้งหมดดูเหมือนว่าจะใช้งานได้ คำสั่งที่ฉันใช้คือ:

mongorestore /host:remote_host dump

โครงสร้างไดเร็กทอรีปัจจุบันของฉันคือ:

.
..
dump
dump\database_name

1

ฉันได้รับข้อผิดพลาดนี้เมื่อฉันมีคอลเล็กชันที่ตรงกับชื่อที่ฉันพยายามเรียกคืนปัจจุบันใน Mongo ลงเอยด้วยการเข้าสู่ Mongo และลบออกโดยใช้ db.m101.drop ();


0

ฉันใช้เวลาพอสมควรในการหาตัวเลือกสำหรับ mongorestore หลังจากที่ฉันได้รับข้อผิดพลาดนี้มาระยะหนึ่ง

ก) ไม่มีการรันอินสแตนซ์ของ mongod

ข) mongorestore -v -host localhost:27017 --dbpath "Actual Path for the Mongo DB- set in config" "Location where the dump is"

การใช้ dbpath อนุญาตให้รันคำสั่งนี้โดยไม่ต้องใช้ mongod เวอร์ชันใด ๆ และสิ่งนี้แก้ไขข้อผิดพลาดของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.