Export one object with mongoexport, how to specify _id?

前端 未结 5 462
萌比男神i
萌比男神i 2020-12-18 08:23

I\'m trying to export just one object with mongoexport, filtering by its ID.

I tried:

mongoexport -d \"kb_development\" -c \"articles\" -q \"{\'_id\'         


        
相关标签:
5条回答
  • 2020-12-18 08:38

    You have to specify the _id field by using the ObjectId type. In your question it was specified as a string.

    CODE ::

    mongoexport -h localhost -d my_database -c sample_collection -q '{key:ObjectId("50584580ff0f089602000155")}' -o my_output_file.json
    

    NOTE :: dont forgot quotes in query

    0 讨论(0)
  • 2020-12-18 08:50

    My MongoDB verion: 3.2.4. when I use mongoexport tool in mongo shell:


    NOT WORK:

    -q '{"_id":ObjectId("5719cd12b1168b9d45136295")}'

    -q '{_id: {"$oid": "5719cd12b1168b9d45136295"}}'


    WORKs:

    -q "{_id:ObjectId('5719cd12b1168b9d45136295')}"


    - Though in mongo doc , it says that

    You must enclose the query in single quotes (e.g. ') to ensure that it does not interact with your shell environment.


    - But, single quote(') does not work! please use double quote(")!

    0 讨论(0)
  • 2020-12-18 08:50

    many of the answers provided here didn't work for me, the error was with my double quotes. Here is what worked for me:

    mongoexport -h localhost -d database_name -c collection_name -q {_id:ObjectId('50584580ff0f089602066633')} -o output_file.json
    

    remember to use single quote only for the ObjectId string.

    0 讨论(0)
  • 2020-12-18 08:52

    I think you should be able to use ObjectId(...) in the query argument to mongoexport:

    mongoexport -d kb_development -c articles -q '{_id: ObjectId("4e3ca3bc38c4f10adf000002")}'
    

    If that does not work, you can use the "strict mode" javascript notation of ObjectIds, as documented here:

    mongoexport -d kb_development -c articles -q '{_id: {"$oid": "4e3ca3bc38c4f10adf000002"}}'
    

    (Also note that strict mode JSON is the format produced by mongoexport)

    0 讨论(0)
  • 2020-12-18 08:55

    You do not have to add ObjectId or $oid as suggested by answers above. As has been mentioned by @Blacksad, just get your single and double quotes right.

    mongoexport -d kb_development -c articles -q '{_id:"4e3ca3bc38c4f10adf000002"}'
    
    0 讨论(0)
提交回复
热议问题