0
mongodump --username user --password password --db db --collection collection --query '{$and: [{"id": "ABCD"}, {"sz": {$gt: NumberLong(100)}}]}' --out dump

実行すると、次のようにmongodump訴えました。

assertion: 16619 code FailedToParse: FailedToParse: Bad characters in value: offset:63

$andand$gt句をエスケープすると、次のようになります。

mongodump --username user --password password --db db --collection collection --query '{\$and: [{"id": "ABCD"}, {"sz": {\$gt: NumberLong(100)}}]}' --out dump

代わりに文句を言います

assertion: 16619 code FailedToParse: FailedToParse: First character in field must be [A-Za-z$_]: offset:1

このクエリはシェルで正常に実行されますが、なぜこれを のパラメーターmongodbとして使用できないのかわかりません。--querymongodump

4

1 に答える 1

2

私の意見では、あなたの $and 句は必要ありません。 {a: 'a', b: 'b'}と同じ$and : [{a: 'a'}, {b: 'b'}]です。

も使用する必要はありません。と同じように"id"書くことができます。idNumberLong

したがって、どちらが機能するかを書き直し... --query '{id: "ABCD", sz: {$gt: 100}}' --out dumpます(単一引用符で囲まれている場合は $ をエスケープしないでください)。

于 2015-04-06T07:30:51.360 に答える