いくつかのテーブルを MySQL から mongoDB に移行する必要があります。Web を検索した後、MySQL を CSV にエクスポートし、その CSV から mongoDB にインポートするのが最も速くて簡単な方法であるように思えます。
そのクエリを使用してMySQLをエクスポートしています:
select * into outfile '/tmp/feed.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY ''
from feeds;
しかし、問題が 1 つあります。
MySQL フィールドが の場合、NULLMySQL エクスポートは\N(または\\N) を CSV ファイルに書き込みます。そのファイルをインポートすることにより、mongoDB\\Nは値ではなく as 文字列をインポートしNULLます。
mongoDB の観点では「空白」ではない--ignoreBlanksため、mongoDB インポート オプションは機能しません。\\N
だから私の質問:
NULL1.)としてエクスポートしないようにするにはどうすればよい\\Nですか?
また
2.) どのように、または空の値としてmongodbimport読み取り/解釈 できますか?\\NNULL
ところで、CSV を後処理して検索して置き換えるオプションはありません。\\N
1.) の可能な答えは、select ステートメントの変更である可能性があります。SELECT IFNULL( field1, "" )ただし、この場合、すべての列を定義してチェックする必要があります。すべての列が select ステートメントで定義されている場合、エクスポート スクリプトはそれほど柔軟ではありません。
//編集: その import<->export をいじっているときに、別の問題を見つけました: 日付フィールドも mongoimport からの文字列として解釈されます