summaryrefslogtreecommitdiff
path: root/src/github.com/mongodb/mongo-tools/mongoimport/mongoimport.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/github.com/mongodb/mongo-tools/mongoimport/mongoimport.go')
-rw-r--r--src/github.com/mongodb/mongo-tools/mongoimport/mongoimport.go30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/github.com/mongodb/mongo-tools/mongoimport/mongoimport.go b/src/github.com/mongodb/mongo-tools/mongoimport/mongoimport.go
index 0544de8143b..da23e6e927b 100644
--- a/src/github.com/mongodb/mongo-tools/mongoimport/mongoimport.go
+++ b/src/github.com/mongodb/mongo-tools/mongoimport/mongoimport.go
@@ -73,14 +73,12 @@ func (mongoImport *MongoImport) getImportWriter() ImportWriter {
session: nil,
}
}
- if mongoImport.IngestOptions.Upsert {
- panic("not implemented! see SERVER-15309")
- }
return &ShimImportWriter{
upsertMode: mongoImport.IngestOptions.Upsert,
upsertFields: upsertFields,
dbPath: mongoImport.ToolOptions.DBPath,
- dbName: mongoImport.ToolOptions.Namespace.DB,
+ dirPerDB: mongoImport.ToolOptions.DirectoryPerDB,
+ db: mongoImport.ToolOptions.Namespace.DB,
collection: mongoImport.ToolOptions.Namespace.Collection,
}
}
@@ -183,22 +181,27 @@ func (mongoImport *MongoImport) importDocuments(importInput ImportInput) (docsCo
if mongoImport.ToolOptions.Port != "" {
connUrl = connUrl + ":" + mongoImport.ToolOptions.Port
}
- fmt.Fprintf(os.Stdout, "connected to: %v\n", connUrl)
- err = importWriter.Open(mongoImport.ToolOptions.Namespace.DB, mongoImport.ToolOptions.Namespace.Collection)
+ util.PrintfTimeStamped("connected to: %v\n", connUrl)
+
+ err = importWriter.Open(
+ mongoImport.ToolOptions.Namespace.DB,
+ mongoImport.ToolOptions.Namespace.Collection,
+ )
if err != nil {
return
}
defer func() {
- err2 := importWriter.Close()
+ closeErr := importWriter.Close()
if err == nil {
- err = err2
+ err = closeErr
}
}()
// drop the database if necessary
if mongoImport.IngestOptions.Drop {
- util.PrintfTimeStamped("dropping: %v.%v\n", mongoImport.ToolOptions.DB,
+ util.PrintfTimeStamped("dropping: %v.%v\n",
+ mongoImport.ToolOptions.DB,
mongoImport.ToolOptions.Collection)
if err := importWriter.Drop(); err != nil &&
@@ -207,6 +210,9 @@ func (mongoImport *MongoImport) importDocuments(importInput ImportInput) (docsCo
}
}
+ ignoreBlanks := mongoImport.IngestOptions.IgnoreBlanks &&
+ mongoImport.InputOptions.Type != JSON
+
for {
document, err := importInput.ImportDocument()
if err != nil {
@@ -223,12 +229,10 @@ func (mongoImport *MongoImport) importDocuments(importInput ImportInput) (docsCo
}
// ignore blank fields if specified
- if mongoImport.IngestOptions.IgnoreBlanks &&
- mongoImport.InputOptions.Type != JSON {
+ if ignoreBlanks {
document = removeBlankFields(document)
}
- err = importWriter.Import(document)
- if err != nil {
+ if err = importWriter.Import(document); err != nil {
if mongoImport.IngestOptions.StopOnError {
return docsCount, err
}