Próbuję zaimportować ObjectOd Mongodb z pliku CSV za pomocą mongoimport:Jak zaimportować Mongodb ObjectId z pliku CSV za pomocą mongoimport?
Próbowałem każdej kombinacji i metody ewakuacji, o jakiej mogłem myśleć, ale nie mogę poprawnie importować ObjectId z CSV.
Najpierw próbowałem importować dokładnie to, co wyeksportowałem z MongoDB do CSV. Używam MongoDB 2.2.1.
Właśnie stworzyliśmy dwie kolekcje i odwołuje _id jednego dokumentu w innym dokumencie:
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"})
Następnie użyłem komendy mongoexport skorupek:
mongoexport -h localhost:3002 -d yourdb -c classes --csv -f student_id,name > export.txt
Wynikające CSV wygląda tak:
student_id,name
ObjectID(5143af326d44e1ceb372121d),"II-4"
Następnie zaimportowałem wynikowy plik CSV, używając:
mongoimport -h localhost:3002 -d yourdb -c class --type csv --file export.txt --headerline
Quering klasa kolekcji powraca:
db.class.find()
{ "_id" : ObjectId("5143afc66d44e1ceb372121e"), "student_id" : ObjectId("5143af326d44e1ceb372121d"), "name" : "II-4" }
{ "_id" : ObjectId("5143b44788df173ba096550e"), "student_id" : "ObjectID(5143af326d44e1ceb372121d)", "name" : "II-4" }
Jak można zauważyć pole student_id w drugim dokumencie faktycznie ciąg i nie MongoDB ObjectId.
Jestem w błędzie na coś lub Mongo nie może importować własnego eksportowanego pliku CSV?
Czego oczekujesz i co się dzieje? Importujesz z powrotem do tej samej kolekcji w swoim przykładzie, co czyni ją niejasną. – JohnnyHK
Próbuję zaimportować obiekt ObjectID MongoDB z csv i otrzymuję tylko ciągi importowane w MongoDB. Próbowałem importować eksport csv MongoDB, ale to nie spowodowało ObjectID. Wygląda na to, że nikt nie próbował zaimportować pola ObjectID z pliku CSV za pomocą mongoimport? – vladimirp
To działało dobrze, gdy próbowałem tego. Czy twój aktualny plik test.csv ma wiersz nagłówka zawierający nazwy pól? Twój przykładowy plik CSV tego nie pokazuje. – JohnnyHK