Mongodump文档指定您可以使用特定查询进行转储
即
mongodump --host localhost --db mydb --collection testCollection --query "{SomeKey: 'some value'}"
我将_ids字段存储为BinData,是否可以对此进行查询?
我试过
mongodump --host localhost --db mydb --collection testCollection --query "{_id: 'BinData(3,ryBRQ+Px0kGRsZofJhHgqg==)'}"
没有运气。
答案 0 :(得分:4)
你不需要逃避这么多。您可以在查询之外使用单引号并在内部双引号,即但要注意将类型设置为十六进制,表示“03”而不是“3”
mongodump --host localhost --db test --collection bd --query
'{"_id" : { "$binary" : "ryBRQ+Px0kGRsZofJhHgqg==", "$type" : "03" } }'
答案 1 :(得分:3)
遗憾的是,这需要大量的逃避。此外,您还必须使用$binary
表示,例如
mongodump --host localhost --db test --collection bd --query
"{\"_id\" : { \"$binary\" : \"ryBRQ+Px0kGRsZofJhHgqg==\", \"$type\" : \"03\" } }"
请注意,$type
必须是十六进制字符串,而不是数字。
在linux中,您还必须将$
转义为\$
。