Home > Enterprise >  Mongosh insert one modified document in MongoDB
Mongosh insert one modified document in MongoDB

Time:01-03

I'm trying to insert one registry in mongodb with mongosh and ubuntu bash. I've get one registry with mongosh . I have to edit 3 fields and make an insert. I thought to make the edition with jq but I don't get it done.

{ "_id": {"fileName": "xxxxxx","namespace": "yyyyyy" },
"metainfo": {"file-type": "csv","environment": "int", "creation-date": 1672306975130000000,"file-name":"xxxxxxx" } }

I've to edit creation-date (is the date en nanos), the enviroment, change part of the fileName (make a substring). I've get the document with --eval "EJSON.stringlify(....)" the command with jq I've tried is:

newDocument=$(echo "$fileData" | jq '.metainfo.environment |= "pro"') 

and gives me error:

parse error: Invalid numeric literal at line 1, column 8

I've validated the JSON and it's well formed.

After made the changes I've to make Then make the insert. I've thought made with

--eval "......insertOne(EJSON.stringlify($newDocument))"

is this correct? What would be the best mannerto do all this?

Thanks for all.

CodePudding user response:

The error was giving me because I was making the request without --quiet parameter.

The mongo shell allows json without problems.

  • Related