12

ここに画像の説明を入力

csv ファイルから MongoDB にデータをアップロードしています。BI ツールを使用してOrderDateレポートを作成する際に問題が発生するため、文字列データ型として使用されます。私のコレクションには約10000件のレコードがあります。

OrderDate単一のクエリでデータ型を日付に変更するにはどうすればよいですか?

4

2 に答える 2

25

単一のクエリでフィールドのタイプを変更できるとは思いません。最も簡単な方法は、挿入時に関数Dateを使用してデータ文字列をフォーマットに変換することです。ISODateただし、既に挿入したデータを処理する場合は、mongodb コンソールを使用して次のコードで実行できます。

db.collection.find().forEach(function(element){
  element.OrderDate = ISODate(element.OrderDate);
  db.collection.save(element);
})

このコードは、コレクション内の各要素を処理し、フィールドcollectionのタイプをからに変更します。OrderdateStringDate

于 2013-03-18T10:12:36.700 に答える
1
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)

このテキストは、エンロン コーパスとして知られる電子メール アーカイブからのものです。

于 2015-02-07T03:51:26.927 に答える