使用mongoexport导出一个对象,如何指定_id?

Bla*_*sad 2 mongodb

我正在尝试使用mongoexport导出仅一个对象,并按其ID进行过滤。

我试过了:

mongoexport -d "kb_development" -c "articles" -q "{'_id': '4e3ca3bc38c4f10adf000002'}"
Run Code Online (Sandbox Code Playgroud)

和许多变化,但它一直在说

connected to: 127.0.0.1
exported 0 records
Run Code Online (Sandbox Code Playgroud)

(而且我确定集合中有这样的对象)

在mongo shell中,我将使用ObjectId('4e3ca3bc38c4f10adf000002'),但它似乎在mongoexport查询中不起作用。

dcr*_*sta 5

我认为您应该可以ObjectId(...)在查询参数中使用mongoexport

mongoexport -d kb_development -c articles -q '{_id: ObjectId("4e3ca3bc38c4f10adf000002")}'
Run Code Online (Sandbox Code Playgroud)

如果这样不起作用,则可以使用ObjectIds 的“严格模式” javascript符号,如此处所示

mongoexport -d kb_development -c articles -q '{_id: {"$oid": "4e3ca3bc38c4f10adf000002"}}'
Run Code Online (Sandbox Code Playgroud)

(还请注意,严格模式JSON是由产生的格式mongoexport


Ale*_*sco 5

对于 mongoexport 版本:r4.2.3

mongoexport -q '{"_id": {"$oid": "4e3ca3bc38c4f10adf000002"}}' 
Run Code Online (Sandbox Code Playgroud)

对于嵌套字段

mongoexport -q '{"_id": {"$oid": "4e3ca3bc38c4f10adf000002"}}' --fields parentField.childField
Run Code Online (Sandbox Code Playgroud)