csv ファイルから MongoDB にデータをアップロードしています。BI ツールを使用してOrderDate
レポートを作成する際に問題が発生するため、文字列データ型として使用されます。私のコレクションには約10000件のレコードがあります。
OrderDate
単一のクエリでデータ型を日付に変更するにはどうすればよいですか?
csv ファイルから MongoDB にデータをアップロードしています。BI ツールを使用してOrderDate
レポートを作成する際に問題が発生するため、文字列データ型として使用されます。私のコレクションには約10000件のレコードがあります。
OrderDate
単一のクエリでデータ型を日付に変更するにはどうすればよいですか?
単一のクエリでフィールドのタイプを変更できるとは思いません。最も簡単な方法は、挿入時に関数Date
を使用してデータ文字列をフォーマットに変換することです。ISODate
ただし、既に挿入したデータを処理する場合は、mongodb コンソールを使用して次のコードで実行できます。
db.collection.find().forEach(function(element){
element.OrderDate = ISODate(element.OrderDate);
db.collection.save(element);
})
このコードは、コレクション内の各要素を処理し、フィールドcollection
のタイプをからに変更します。Orderdate
String
Date
db.messages.find().forEach(function(doc) {
doc.headers.datestamp = new Date(Date.parse(doc.headers.Date.toString()));
db.messages.save(doc);
})
これは、次のようなテキストの変換にうまく機能しました: Tue, 14 Nov 2007 03:22:00 -0800 (PST)
このテキストは、エンロン コーパスとして知られる電子メール アーカイブからのものです。