MongoDBには次のフォームのコレクションがあります。ご覧のとおり、一部のドキュメントには2つのメンバー「id」と「xid」があり、一部には1つの「id」しかありません(Object _idを除く)
[
{
"id" : 1,
},
{
"id" : 2,
},
{
"id" : 3
"xid": 300
}
]
IdがAND xidでxid> 0の値を持つドキュメントのみをcsvにエクスポートするmongoexportステートメントを作成したい
現在、次のコマンドがあります。
mongoexport -h Host -u user -p pass --db database --collection collections --csv --fields id,xid --query '{"xid":{"$ne":0}}' --out rec.csv
ただし、これは、xidのないidを持つドキュメントもエクスポートします。だから私は次のようなものを得る
xid, id
12, 3
,4
14, 5
,3
,2
12, 5
等.
Idとxidの両方しかないドキュメントをエクスポートする方法はありますか?
以下のコマンドを使用できます
mongoexport -d database_name -c collection_name --csv --query { id:{$exist:true},xid:{$gt:0}}
クエリを次のように変更できます
--query {id: {$exists : true}, xid: {$gt : 0}}
上記のクエリは、idフィールドがあり、xid> 0の値を持つドキュメントのみを返します。したがって、xidではなくidフィールドのみを持つドキュメントがある場合、それらのドキュメントは返されません。
mongoexport --db db_name --collection collection_name --query "{'Name': 'Vijil'}" --out file_name.json
上記のドキュメントからは、ドキュメントの配列のように見えますが、uはなしでドキュメントにアクセスしています。表記法。文書に誤ってアクセスしているようです。
'{"key.xid":{"$ne":0}}'
のようなものでなければなりません
3.0.6
--csv
タグはサポートされていませんが、使用するために--type=csv
以下は、データベースでMongoExportを使用するクエリですdb_name
およびコレクションcollection_name
、フィールド名も指定することを忘れないでください(csvファイルに追加するフィールド)。
Sudo mongoexport -d db_name -c collection_name --type=csv --query='{field1:{$gt:2}}' -f "field1,field2" --sort='{field1:-1}' -u 'username' -p 'passwd' --authenticationDatabase=admin --out dir/file.csv