Tôi đang cố gắng nhập ObjectId của Mongodb từ tệp CSV sử dụng mongoimport:Làm cách nào để nhập Mongodb ObjectId từ tệp CSV bằng cách sử dụng mongoimport?
Tôi đã thử mọi phương pháp kết hợp và thoát mà tôi có thể nghĩ nhưng không thể nhập ObjectId chính xác từ CSV.
Trước tiên, tôi đã thử nhập chính xác những gì tôi được xuất từ MongoDB sang CSV. Tôi đang sử dụng MongoDB 2.2.1.
tôi vừa tạo ra hai bộ sưu tập và tham chiếu _id một tài liệu trong tài liệu khác:
use yourdb
db.createCollection("student")
db.createCollection("class")
db.student.insert({"name":"Peter"})
db.student.find() returns { "_id" : ObjectId("5143af326d44e1ceb372121d"), "name" : "Peter" }
db.class.insert({"student_id": ObjectId("5143af326d44e1ceb372121d"),"name":"II-4"})
Sau đó, tôi sử dụng lệnh mongoexport trong vỏ:
mongoexport -h localhost:3002 -d yourdb -c classes --csv -f student_id,name > export.txt
Kết quả CSV trông như thế này:
student_id,name
ObjectID(5143af326d44e1ceb372121d),"II-4"
Sau đó, tôi đã nhập CSV kết quả bằng cách sử dụng:
mongoimport -h localhost:3002 -d yourdb -c class --type csv --file export.txt --headerline
quering bộ sưu tập đẳng cấp bây giờ trở về:
db.class.find()
{ "_id" : ObjectId("5143afc66d44e1ceb372121e"), "student_id" : ObjectId("5143af326d44e1ceb372121d"), "name" : "II-4" }
{ "_id" : ObjectId("5143b44788df173ba096550e"), "student_id" : "ObjectID(5143af326d44e1ceb372121d)", "name" : "II-4" }
Như bạn có thể thấy lĩnh vực student_id trong tài liệu thứ hai thực sự là một chuỗi và không MongoDB ObjectId.
Tôi sai về điều gì đó hoặc Mongo không thể nhập CSV được xuất riêng của mình ??
Bạn đang mong đợi điều gì sẽ xảy ra và điều gì sẽ xảy ra? Bạn đang nhập trở lại vào cùng một bộ sưu tập trong ví dụ của bạn mà làm cho nó không rõ ràng. – JohnnyHK
Tôi đang cố gắng nhập ObjectID của MongoDB từ csv và tôi chỉ nhận được các chuỗi được nhập vào MongoDB. Tôi đã thử nhập khẩu csv MongoDB của xuất khẩu nhưng điều đó đã không dẫn đến ObjectIDs. Có vẻ như không ai cố gắng nhập trường ObjectID từ tệp CSV bằng cách sử dụng mongoimport? – vladimirp
Nó hoạt động tốt khi tôi thử điều này. Tệp test.csv thực tế của bạn có dòng tiêu đề chứa tên trường không? CSV mẫu của bạn không hiển thị nó. – JohnnyHK